码迷,mamicode.com
首页 > Web开发 > 详细

XCTF Web题练习 CAT writeup

时间:2019-12-12 21:10:22      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:ali   练习   一个   意思   ase   实现   csdn   tps   获取   

  进阶区

    第一题  CAT

      叫我们输入域名,那就随便输一个baidu.com,等半天没返回

      嗯??

      输入百度IP,才发现有返回

      输入127.0.0.1 ,发现是个Ping功能。= =

                       技术图片

      尝试下能不能用 | 符 实现任意命令执行,先试试 payload:127.0.0.1 | ls    

      emmm, Invalid URL,意思是我里面有非法字符?

      仔细试了一下,发现能够输入的只能是数字,英文字母和  .   ,那要是按这个思路来的话任意命令执行的貌似是行不通了。

 

      唔,没办法,没思路了,作为小白的我只能去乖乖的看dalao的wp了。

      嗯~,URL的传参处?url=这里输入%80及以后的URL编码就可以返回Django报错,嗯?why?

      看了很多wp后才知道= =,URL编码使用的是16进制,80也就是128了,而Ascii码只有0-127,所以输入%80的时候会报错。

      (?url=%79转码后可以看到转成了y,?url=%7A转码后可以看到转成了z,后面一直到%7F都是非法符号,会返回Invalid URL)

      Ascii码表可以参考:http://www.asciitable.com/

      

 

 

      OK,继续做题,给url参数传入参数%80,Django报错,根据报错知道网站是Django开发    

          技术图片

 

       结合PHP可以通过在参数中注入@来读取文件的漏洞,首先看看配置文件settings.py,看看有没有相关的有用的信息。

      Payload:?url=@/opt/api/api/settings.py

          技术图片

      得到数据库名为 database.sqlite3

      再获取数据库内容

      Payload:?url=@/opt/api/database.sqlite3

 

      技术图片

 

      感谢dalao们写的wp,让我获益匪浅,我也要养成写博客的习惯QAQ。哈哈哈

      

      参考博客:https://blog.csdn.net/zz_Caleb/article/details/95041031

      参考博客:https://blog.csdn.net/stepone4ward/article/details/94615617

 

XCTF Web题练习 CAT writeup

标签:ali   练习   一个   意思   ase   实现   csdn   tps   获取   

原文地址:https://www.cnblogs.com/ckha/p/12031344.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!