漏洞概要
关注数(24)
关注此漏洞
漏洞标题:pageadmin ViewState缺陷导致sql注入
提交时间:2014-10-30 15:52
修复时间:2015-01-28 15:54
公开时间:2015-01-28 15:54
漏洞类型:设计缺陷/逻辑错误
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情
披露状态:
2014-10-30: 细节已通知厂商并且等待厂商处理中
2014-10-30: 厂商已经确认,细节仅向厂商公开
2014-11-02: 细节向第三方安全合作伙伴开放
2014-12-24: 细节向核心白帽子及相关领域专家公开
2015-01-03: 细节向普通白帽子公开
2015-01-13: 细节向实习白帽子公开
2015-01-28: 细节向公众公开
简要描述:
此处省略50万条网站信息
1、..............
2、..............
..............
50.、http://www.pageadmin.net
影响页面甚多,还望厂商以及各站长能逐一检查
听说咱们出新功能了
乌云新增刷乌云币功能 连接http://zone.wooyun.org/content/16138 特地来试试好不好使
另外所用到的工具同样在“测试代码”中提供下载地址
详细说明:
具体分析:
1、查找一个动态页面
例如:
参数:
查看源码得到 :aspNetHidden 内容如下
此加密内容解密的到下图:
那么我们只要能修改红色圈出的部分即可 想的到什么数据 就能得到什么数据
本地测试 获取管理员中的数据 sql为红色圈住的部分 :
注:可能小伙伴不解为何 as id 看页面代码
也就是说 绑定的是id 故 as id
将修改后的数据加密 加密后的内容 详细代码请查看 “测试代码”
然后 浏览器 F12 替换掉原来的加密字符串即可 ;
但是这个时候 小伙伴们捉急了 ,获取的数据哪?
那么请看
if(!Page.IsPostBack)
{
ViewState["sql"]="select site_id,sort_id,id,title,static_dir,static_file,lanmu_id,sublanmu_id,zdy_url,permissions,checked,[html],thedate from "+TheTable+" where site_id="+SiteId+sql_str+" order by thedate desc";
}
实际的代码片段是在这个地方 IsPostBack了 所以这个时候我们需要一个事件触发 才能获取数据
有两种方式 :
1、替换原来的加密字符串之后,点击下一页 然后在返回到第一页 即可
2、或者POST数据 到此地址 /e/aspx/data_select.aspx?siteid=1&table=article&field=1&multiple=&sortid=&keyword=&pagesize=2
这个时候小伙伴们又捉急了 数据哪 数据哪?
数据在这里 下图:
漏洞证明:
修复方案:
这是由ViewState引发的血案
影响页面甚多 不发集合了 贵司珍重
版权声明:转载请注明来源 Damo@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:5
确认时间:2014-10-30 16:05
厂商回复:
新版本已经修复,谢谢白帽子
最新状态:
2014-11-11:之前给和另外一个viewstate泄露给搞混淆了,不好意思,今天才确认并进行了修复。