[公开漏洞]中国联通3G某站多处sql注入漏洞(root权限)
-
来源:WooYun 浏览:611次 时间:2014-06-16
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();
危害等级:高
漏洞Rank:11
确认时间:2014-05-07 12:00
厂商回复:CNVD确认并复现所述情况,已经转由CNCERT直接通报给中国联通集团公司处置。
最新状态:暂无