网络攻防世界
废话不多说直接上题
01
本道题切进去
分别点开一探究竟,根据三个的提示,联想到一些结果,首先看URL栏里可以看出大概要写出来的格式,第一个点开可以看出文件名是/flllllllllag这个,所以大概是 file?filename=/fllllllllllllag&filehash=***************************************的内容是md5(cookie_secret+md5(/fllllllllllllag)) ,其次第二个也给了提示渲染函数render(),直接将文件内容显示在网页上第三个文件打开则告诉你MD5加密的格式,现在的问题就是如何解决cookie–secret 尝试进行验证:
传递error?msg={{2}},页面出现2
传递error?msg={{23}},页面出现ORZ(但并不是cookie)
尝试除和减操作符也是)返回ORZ,说明是操作符背过滤了。
那么tornado中的cookie通过模板注入要怎么拿到呢?
用的就是handler.settings对象
handler 指向RequestHandler
而RequestHandler.settings又指向self.application.settings
所有handler.settings就指向RequestHandler.application.settings了!
传递error?msg={{ handler.settings }}得到:
这样就拿到cookie_secret了 在之后先加密/flllllllllllag在之后把这个和得到的cookiesecret一起加密就可以得到答案了
下一题
02
抓包SQLmap使出来
两种姿势。
1.对view.php界面进行sql注入,反序列化,file:///读取flag文件
2.可能是作者过滤问题,sql注入后写一句话没成功但是可以直接load_file flag文件。利用no参数进行注入,在反序列化中构造file文件协议,利用服务端请求伪造漏洞访问服务器上的flag.php文件。
Payload:?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.php”;}’
03
漏洞为比较方式为==弱类型比较(若数据类型不同,则会转化为相同类型进行比较),因此只要传入七个true即可匹配成功。
框内限制只能输入七个字符,所以burp抓包改包{“action”:“buy”,“numbers”:"[true,true,true,true,true,true,true]"}就可以了,这个题很有意思是一个PHP弱类型
04
尝试弱口令和万能密码
首先你应该登录 进行注册 但是自己没有注册成功
登录自己的账号密码 并未发现什么 需要管理员权限进行登录
进行忘记密码进行秘密 burp 进行抓包
账号名改成admin 密码是自己注册的密码进行发包 登陆成功 admin权限 点manage发现出现IP
IP问题 进行X-Forwarded-For :127.0.0.1
进行审查源码 发现index.php?module=filemanage&do=???
那么do后面能是什么呢 猜测upload
写一个php代码
改为jpg格式进行上传 burp进行抓包改包 55.php 进行发包 PHP 文件名绕过 555.PHP 或者php4
或者js代码进行绕过