0x01. 进入环境,查看内容

xctf攻防世界 Web高手进阶区 webshell_shell脚本


提示使用webshell

0x02. 问题分析

0x02_1. 什么是webshell

webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境,主要用于网站管理、服务器管理、权限管理等操作。使用方法简单,只需上传一个代码文件,通过网址访问,便可进行很多日常操作,极大地方便了使用者对网站和服务器的管理。正因如此,也有小部分人将代码修改后当作后门程序使用,以达到控制网站服务器的目的。

0x02_2. 开始解题

我们使用burpsuite进行拦截,送入repeater,如图:

xctf攻防世界 Web高手进阶区 webshell_shell脚本_02

我们在最下面添加shell脚本,注意需要修改三个地方:

  1. 将传输方式改为POST
  2. 传输的Content-Type要加上,​​Content-Type: application/x-www-form-urlencoded​
  3. 传输shell脚本,​​shell=system("find / -name 'flag*'");​​ 如图:
  4. xctf攻防世界 Web高手进阶区 webshell_上传_03

  5. 可以看到,返回了内容​​/var/www/html/flag.txt​​。
    接着我们查看具体flag内容,使用脚本​​ shell=system("cat /var/www/html/flag.txt");​​:如图:
  6. xctf攻防世界 Web高手进阶区 webshell_服务器_04

  7. 得到最终答案:​​cyberpeace{f3338db17dcd9233ed4c0685cf6f8c56}​

0x03. 解法二

我们可以看看source,如图:

xctf攻防世界 Web高手进阶区 webshell_linux_05


可以看到,该网页已经直接将一句话木马直接上传,那么打开蚁剑直接链接,如图:

xctf攻防世界 Web高手进阶区 webshell_linux_06


连接后查看即可,如图:

xctf攻防世界 Web高手进阶区 webshell_shell脚本_07

0x04. 解法三

直接使用hackbar,post方式传递shell脚本即可,如图:

xctf攻防世界 Web高手进阶区 webshell_运维_08


直接可以得到最终答案。