写在前面
一切脚本的导图都是自己写的、画的,假如有欠好的当地多多包容,过错的当地也请指出,谢谢。
分组暗码的形式
分组暗码每次只能处理加密固定长度的分组,可是咱们加密的明文可能会超越分组暗码处理的长度。
这时便需要对一切分组进行迭代,而迭代的 *** 被称为分组暗码的形式。常见的为针对ECB、CBC形式进犯(L-ctf说到其间一种)。
ECB
ECB形式的全称是Electronic CodeBook形式,将明文分组加密后直接成为密文分组,而密文则是由明文分组直接拼接而成,如图所示:
Features:
ECB形式是一切形式中最简略的一种。明文分组和密文分组是一一对应的,假如明文分组有相同的那么最终的密文中也会有相同的密文分组。
由于每个分组都单独进行加密解密,所以无需破解密文就能操作部分明文,或许改动明文,在不知道加密算法的情况下得到密文,然后到达进犯作用,如图所示(翻转密文分组,那么明文分组也会被翻转)
Example:
某次CTF遇到的标题
思路:以administrator权限登陆就就能取得Flag。判别权限则是依据cookie里边的uid参数,cookie包括username和uid两个参数,均为运用ECB加密的密文,但是username的密文是依据注册时的明文生成的。
因而咱们能够依据username的明文操作生成咱们想要的uid的密文。通过fuzz发现明文分组块为16个字节,那么咱们注册17字节的用户,多出的那一个字节就能够是咱们咱们期望的UID的值,而此刻咱们检查username的密文添加部分便是UID的密文,即可假造UID。
注册aaaaaaaaaaaaaaaa1取得1的密文分组,注册aaaaaaaaaaaaaaaa2取得2的密文分组,以此类推
源码没找到,如同弄丢了,自己写了个差不多的,有爱好能够操练
ebc.php:
function AES($data){
$privateKey = "12345678123456781234567812345678";
$encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $privateKey, $data, MCRYPT_MODE_ECB);
$encryptedData = (base64_encode($encrypted));
return $encryptedData;
}
function DE__AES($data){
$privateKey = "12345678123456781234567812345678";
$encryptedData = base64_decode($data);
$decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $privateKey, $encryptedData, MCRYPT_MODE_ECB);
$decrypted = rtrim($decrypted, "") ;
return $decrypted;
}
if (@$_GET['a']=='reg'){
setcookie('uid', AES('9'));
setcookie('username', AES($_POST['username']));
header("Location: http://127.0.0.1/ecb.php");
exit();
}
if (@!isset($_COOKIE['uid'])||@!isset($_COOKIE['username'])){
echo '"post" action="ecb.php?a=reg">
Username:
"text" name="username">
Password:
"text" name="password" >
"submit" value="注册">
';
}
else{
$uid = DE__AES($_COOKIE['uid']);
if ( $uid != '4'){
echo 'uid:' .$uid .'';
echo 'Hi ' . DE__AES($_COOKIE['username']) .'';
echo 'You are not administrotor!!';
}
else {
echo "Hi you are administrotor!!" .'';
echo 'Flag is 360 become better';
}
}
?>
ecb.py:
#coding=utf-8
import urllib
import urllib2
import base64
import cookielib
import Cookie
for num in range(1,50):
reg_url='http://127.0.0.1/ecb.php?a=reg'
index_url='http://127.0.0.1/ecb.php'
cookie=cookielib.CookieJar()
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
opener.addheaders.append(('User-Agent','Mozilla/5.0'))
num=str(num)
values={'username':'aaaaaaaaaaaaaaaa'+num,'password':'123'}
data=urllib.urlencode(values)
opener.open(reg_url,data)
[1] [2] [3] [4] [5] 黑客接单网
对黑客来说,缝隙是宿敌。 我了解的应急呼应是对突发的不知道的安全事情进行应急呼应处理。 这种状况一般都是“被黑”了。 “被黑”包含很多种:服务器被侵略,事务呈现蠕虫事情,用户以及公司员工被垂钓进犯,事...
之前写过自动化检测XSS插件,今日来一发自动化检测CSRF的插件。CSRF有多种状况的呈现方法,而本章所说的内容没有办法做的那么全面,就比方JSON Hijacking(第二章或许第三章会写),本章咱...
Options:别的即便黑客无法篡改Referer值,这种办法也依然存在问题。...
信息搜集是浸透测验中第二阶段的作业,也是非常重要的一项。所搜集到的情报信息,能直接影响下一阶段的作业及效果。那么具体的信息搜集作业应怎么施行呢?接下来我会用一此虚拟的事例结合原理来进行阐明,如有不足之...
「数据购买_找黑客破解微信号-找黑客能找回网络彩票输的钱吗」windows/foreign/reverse_dns_txtand%0a(select%0acount(*)%0afrom%0amsyso...
“猫池”说白了便是一个能够插许多许多张手机卡的“假手机”,经过“猫池”对应的软件,能够一起运用这些手机卡进行打扰短信的发送和打扰电话的拨打。 sudo add-apt-repository ppa:u...