【ctfshow】web入门-爆破(已完结)

web21

进去页面,就看见一个登录的提示,可以先输入用户名和密码,抓包看一下是什么样子,通过抓包得到:

Authorization: Basic YWRtaW46MQ==

补充:Authorization是授权或认证的

通过base64解码,得到输入的用户名和密码的格式是 admin:1

将包发到intruder攻击模式进行爆破

1.添加payload

2.设置payload

3.开始攻击,攻击完成后,得到结果:

注意这里需要将 URL 编码取消掉:

进行base64解码,得到用户名和密码:

这样登进去就可以拿到flag了

web22

目前页面效果失效,所以我就直接提交的flag

web23

代码分析:

是get传参token,

md5($_GET['token']) 会将 token 参数转换为一个 32 字符的十六进制字符串;

substr($token, 1,1) === substr($token, 14,1) && substr($token, 14,1) === substr($token, 17,1)
比较 MD5 哈希的第 2、15 和 18 个字符是否相同;
(intval(substr($token, 1,1))+intval(substr($token, 14,1))+substr($token, 17,1))/substr($token, 1,1) === intval(substr($token, 31,1)) 将第 2、15 和 18 个字符转换为整数相加,再除以第 2 个字符的整数值,检查结果是否等于第 32 个字符的整数值;

使用bp爆破

至于为什么会是这个500,一般自己不确定的时候就会往大的数字填

得到结果后看长度不一样,就是token=422时则可以拿到flag

web24

代码分析:

get传参r,mt_srand(372619038);‌这行代码的作用是设置Mersenne Twister伪随机数生成器的种子值为372619038

注意:php版本5.4的不行,因为出来的结果不是这个,这里使用的版本是7.3的

这里直接输入对应的代码在本地运行,得到结果为:1155388967

<?php
mt_srand(372619038);
echo intval(mt_rand());
?>
知识点:
mt_srand():播种 Mersenne Twister 随机数生成器。

语法:mt_srand(seed)

mt_rand():使用 Mersenne Twister 算法返回随机整数。

语法:mt_rand(min,max);

web25

代码分析:

代码分析:
mt_srand(hexdec(substr(md5($flag), 0,8)));

md5:加密
hexdec:返回一个十进制数等价嵌入的字符串以十六进制数的

mt_srand随机种子,substr截取md5flag加密数据8个字符

$rand = intval($r)-intval(mt_rand());

intval() 函数可以获取变量的「整数值」。常用于强制类型转换。

题目分析:

mt_srand设置种子 但是该题种子位置 然是通过传参r=0能的到 -1152540729 也就是说intval(mt_rand())的值为1152540729 也就是使用该种子的第一个随机数为1152540729

使用工具反推种子的值:

从github克隆工具:
git clone https://github.com/openwall/php_mt_seed

切换php_mt_seed目录:
cd php_mt_seed

进行编译:
make

使用逆推工具:
使用 ./ 执行程序,后面再接上希望逆推的随机数
 ./php_mt_seed 1152540729

 

找到版本php7的值,带入代码当中:

<?php
mt_srand(600890515);
echo mt_rand()."\n";
echo mt_rand()+mt_rand();
?>

得到的值:

由代码看可得:

r=1152540729,token=2020576954

再把这两个参数带入网页中就可以得到flag了

web26

直接抓包拿到flag

web27

点击录取名单,得到一个文件,里面有名字和身份证,然后点击学籍信息查询系统,得到以下页面:

录取名单的文件:

由此可知,已经知道名字和身份证,但是不知道生日日期,可以使用bp进行爆破

添加payload

设置payload:

得到的结果为:

可以根据长度判断出结果

根据查询拿到学号,并且登录就可以拿到flag

 

web28

目录重定向

/0-100/0-100进行爆破

爆破设置:

payload1和2都设置数值,从0开始到100

爆破结果看状态码为200

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值