吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7460|回复: 82
上一主题 下一主题
收起左侧

[漏洞分析] z 某 a 开 b 源 b 应 i 用 x (sqll injection vuln)

  [复制链接]
跳转到指定楼层
楼主
faqiadegege 发表于 2024-12-3 15:19 回帖奖励
某开源应用新近sql注入漏洞
已经公开的细节有如下请求body
PS: waf大神估计一眼就看来注入点了

/api_jsonrpc.phpuser_data = {
                    "jsonrpc": "2.0",
                    "method": "user.get",
                    "params": {
                        "selectRole": ["roleid, u.passwd", "roleid"],
                        "userids": str(userid)
                    },
                    "auth": auth_token,
                    "id": 1
                }

下载该应用代码分析,版本比较为:6.0.31 —— 6.0.32rc
源码分析 api_jsonrpc.php
根据uri中端点,找到代码文件 api_jsonrpc.php


上面代码       将http数据作为 jsonRpc 属性初始化 CjsonRpc 对象,最终执行其方法 execute()

CJsonrpc 类


上面初始化得对象,在这里得实现内部,data 被传递到成员变量 _jsonDecoded


在上面执行得成员函数 execute 中,jsonDecoded被使用 “.” 分隔,传递到 api 和 method中 api 与 method 上面得代码中使用 CapiClient 类的 callMethod 配置接口,这里直接使用poc中的数据可知,对应的 api 与 method 是: user , get,   在类 API 中 获取对应api






获取poc中api : user



CUser -> get 从上面代码可见 api : user 对应的类为 Cuser


Method : get




addRelatedObjects


在该函数中,前台的 selectRole 参数值使用 ',r.'.implode(',r.', $options['selectRole'])将数组元素用逗号连接,并在每个字段名前加上表的别名 r.(即,查询role表中数据)selectRole作为列表,但是其中的元素中如果字符串中使用“逗号”,那么最终的查询将被拼接为可利用形式举例:正常查询:"selectRole":["roleid", "roleid"]    最终sql语句 select r.roleid, r.roleid威胁查询:"selectRole":["roleid", "roleid, u.passwd"]    最终sql语句select r.roleid, ,u.passwd, r.roleid

注:仅作学习探讨用

免费评分

参与人数 15威望 +2 吾爱币 +113 热心值 +14 收起 理由
莫奇 + 1 + 1 谢谢@Thanks!
Aircraftcomman5 + 1 + 1 我很赞同!
kgdwfn + 1 用心讨论,共获提升!
ioyr5995 + 1 + 1 我很赞同!
wangxb2555 + 1 热心回复!
嘻哈星星 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
lin5789 + 1 用心讨论,共获提升!
gaosld + 1 + 1 用心讨论,共获提升!
as125566 + 1 + 1 2号宏时刚发的消息,让升级。
fengbolee + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
willJ + 2 + 100 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
superworker2022 + 1 + 1 我很赞同!
niufen240721 + 1 + 1 用心讨论,共获提升!
aindd + 1 + 1 谢谢@Thanks!
stysty0930 + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
泡泡汽水 发表于 2024-12-3 15:44
selectRole数组内的字符串"roleid, u.passwd", "roleid"看起来有点奇怪,它重复指定了roleid并且包含了逗号分隔的两个字段名在一个字符串里。
3#
HEA7528 发表于 2024-12-3 15:31
4#
Fandeying225 发表于 2024-12-3 15:40
5#
qiuqiuqiu123 发表于 2024-12-3 15:41
破解连渗透都搞上了!高手如云
6#
zw8861 发表于 2024-12-3 15:51
谢谢分享,学习了。
7#
XIAOYU1988 发表于 2024-12-3 15:57
厉害了   学习了  给力!
8#
nxwuxinlin 发表于 2024-12-3 16:04

谢谢分享,学习了。
9#
bakeiam 发表于 2024-12-3 16:05
来学习,欸嘿嘿
10#
u2000 发表于 2024-12-3 16:12
太太太,太厉害了。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-26 21:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表