7月月赛记录

写在前面

其实现在都不怎么做题目了,只有月赛的时候看看,月赛每次web题目也不多。
这个月月赛只有一道web题,xsssql注入的,没有什么新的知识点,没做出来的时候觉得懵,做出来之后觉得怎么搞了这么久才搞出来?(每次都会这样)

WriteUp

题目界面是这个样子的。7月月赛记录_第1张图片
hint是这个样子的。
7月月赛记录_第2张图片

大概意思是token是你的id一样的东西,然后也告诉你管理员的id,你可以给管理员发消息,因为题目名字就是xssqli,所以上来就试了xss。它是有一些同源策略限制的,不能直接去

Your token: fafd3708-ce90-40bd-bc4a-852ed01e4853

Any problem about this system, please contact the administrator.
Admin token: fafd3708-ce90-40bd-bc4a-852ed01e4853


Search messages:

Received messages:

  1. Flag
  2. is
  3. not
  4. here

Send a message:

To token:

Message:

substr(md5($work), 0 , 5) === "da39f"

%2 0

发现还有个search.php,本地请求了一下发现需要管理员身份才行的。sql注入应该就是和这个search.php交互产生的。

那就通过xss让管理员和这个文件交互。

刚开始不管怎么试search.php的返回结果都是nothing for you。很绝望,后来还试了一下在发消息时候msg字段和token字段是不是注入点来着(怀疑search.php是个幌子),然后发现这两个字段都被限制地很好。

无奈又开始试search.php。突然发现有不同的输出…(我也不知道我之前的测试是怎么回事)。

这个文件的功能就是你输入一个东西,他会给你返回一个id。大概就是执行
select id from xxx where id='xx'这样子,如果你传入的参数中包含被紧掉的函数的话,它就会将你输入的参数原封不动返回。

如果你的语句执行正确,那就输出search done。错误就输出runtime error

那么很明显了,就是一个盲注。

但是过滤掉了sleep() /exp() /benchmark这几个经常被用的函数。

最终用了ST_LatFromGeoHash(version()),和上面三个函数用起来方法一样,效果也一样。

之后就burp intruder ➕一个简单的脚本,得到最后的结果。

POST /index.php HTTP/1.1
Host: xxx:xxx
Content-Length: 576
Cache-Control: max-age=0
Origin: http://xxx:xxx
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Referer: http://xxx:xxx/index.php
Accept-Language: zh-CN,zh;q=0.9
Cookie: PHPSESSID=9060d6d0a742478c529b506a1c190bbf; visitid=5caad8aff3e48; JSESSIONID.5bfff80a=node0157hoy44igpyjbxhtn1irh1xu21373.node0; session=81be6a6e-48c5-40d1-baf0-a9e4a10c4026
Connection: close

token=fafd3708-ce90-40bd-bc4a-852ed01e4853&msg=&work=2n4rf

做到后面才明白了第一个提示的意思:那个验证码校验是只在普通用户进行的,管理员发消息是不需要验证码的。所以在做到后面也非常确定方法是对的。

(我敢肯定,之后我再看的时候就忘记这都是写啥了)

做的过程中觉得这个题目出的挺好的,做完了感觉其实也很常规,hint也挺好的。

动脑子想,去猜后台的语句是怎么写的,可能会在哪里出现问题。

开心。

你可能感兴趣的:(WriteUp)