21.
先输入用户密码抓包试试(我密码用户都是用admin)
解密发现是账号:密码形式。猜测用户名就是admin,构造payload,迭代密码。
题目有个压缩包,解压后导入。
点add,再点eccode,往下翻就可以看到base64-encode。
进行64编码后,不可为符号再编码。所以下方不勾。
attack,找到flag。
不熟bp可以学习此文[Burp Suite完整教程] Intruder Attack type&Payloads – 拥有上千种姿态的攻击模式-优快云博客
22 .
看了很多wp,都没爆破出来。在此纠正上篇文章web 11一个漏洞
点击解析结果就好。
23.
首先来代码审计:(1)intval 函数用于将变量转换为整数,(2)substr 函数用于从字符串中提取子字符串。所以总的来说,此代码先是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 个字符。参考博客:ctfshow-web入门-爆破(web21-web24)_ctfshow web21-优快云博客
所以可以写php代码得出3j,看别的大佬的代码有两个答案。
24.
代码审计:
mt_srand(372619038)设置了确定的种子,使随机数生成器生成的随机数序列在每次运行时都相同,intval($r)===intval(mt_rand())作用是检查get参数r转为整数后是否等于随机数的整数值,等于则输出flag。详解看:ctfshow-web入门-爆破(web21-web24)_ctfshow web21-优快云博客
最后传给r就好。
25.
先代码审计。从 mt_srand(hexdec(substr(md5($flag), 0,8)))知种子是定值,然后结合$rand = intval($r)-intval(mt_rand());先让然r=0,这样就会出现$rand的值(同时也是-intval(mt_rand())
所以我们知道了一个随机数,又因为种子是定值,就可以反求种子。这时候要用php_mt_seed进行破解,具体看CTF-Web25(php_mt_seed的使用)_php mt seed-优快云博客。
下载记得几点,一是要在kali里下,我开始跟傻子一样在win里下。然后就是下载后压缩包在下载里,你要移到当前目录下就是看:
,后面就没什么了,照上方博客做。
这里是2827939972(根据版本去试,2551338374我试过了,不行,所以换)。编写代码有
运行有
这题写了很久,刚开始慢慢摸索,直到靶场过时,不过刚好可以复现一遍,懂了很多。
26.
先看代码,试着分析一下。
checkdb.php,以post方式提交参数a、p、d、u、pass,所以先信息都填了,再抓包
提示登陆失败,猜测是账号或密码错误,这里对密码进行爆破,使用之前web21提供的字典成功爆出密码。看网上爆出了7758521,但是字典没找到,有点奇怪,还有就是我这爆出来数据链接失败,也可能是爆不出来的原因。
27.
火狐截取不到信息,在检查里看,复制到请求头
没出来?看wp知道日期,但还是觉得怪怪的。
28.
由提示有暴力破解目录
attack就找到了