漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-059198
漏洞标题:中国联通3G某站多处sql注入漏洞(root权限)
相关厂商:中国联通
漏洞作者: nextdoor
提交时间:2014-05-02 19:12
修复时间:2014-06-16 19:12
公开时间:2014-06-16 19:12
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:15
漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-05-02: 细节已通知厂商并且等待厂商处理中
2014-05-07: 厂商已经确认,细节仅向厂商公开
2014-05-17: 细节向核心白帽子及相关领域专家公开
2014-05-27: 细节向普通白帽子公开
2014-06-06: 细节向实习白帽子公开
2014-06-16: 细节向公众公开
简要描述:
中国联通3G某站多处sql注入漏洞(root权限)
详细说明:
中国联通沃3G网站存在盲注漏洞是root权限
注入点
http://3gztc.wo.com.cn/wo_pc/product.jsp?id=40610
http://3gztc.wo.com.cn/showSoft.jsp?id=10119
http://3gztc.wo.com.cn/wo_pc/list.jsp?n=jx&v0=联想&v1=20&v
2=乐Phone&listSys=Java的listSys参数
其他地方未测试
60多张表,时间有限未进一步测试
本站后台:http://3gztc.wo.com.cn/login.jsp
测试过程
1.先用单引号测试',返回500服务器错误,不出意料的话是存在500错误注入的。
拿sqlmap测试,结果盲注
如图:
2.测试当前用户root
3.当前的库和表
4.当前用户名和密码
结束
漏洞证明:
修复方案:
数字型
Integer.parseInt(s)
字符型
String.replace("'","''");//在mssql oracle中
JAVAEE中
按照下面的例子作相应修改
参数化查询语句
使用参数化查询执行sql语句
String msg = request.getParameter("msg");
conn = ConnectionPoolManager.getConnection();
String SqlString =
"SELECT msgid, title, message " +
"FROM messages " +
"WHERE message like'" + msg + "%'";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(SqlString);
改为
String msg = request.getParameter("msg");
conn = ConnectionPoolManager.getConnection();
String SqlString =
"SELECT msgid, title, message " +
"FROM messages " +
"WHERE message like ? ";
PreparedStatement pS = conn.prepareStatement(SqlString);
pS.setString(1,msg+"%");
ResultSet rs = pS.executeQuery();
版权声明:转载请注明来源 nextdoor@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:11
确认时间:2014-05-07 12:00
厂商回复:
CNVD确认并复现所述情况,已经转由CNCERT直接通报给中国联通集团公司处置。
最新状态:
暂无