[公开漏洞]中国联通3G某站多处sql注入漏洞(root权限)

    来源:WooYun 浏览:611次 时间:2014-06-16
中国联通3G某站多处sql注入漏洞(root权限) 相关厂商: 中国联通 漏洞作者:nextdoor 提交时间:2014-05-02 19:12 公开时间:2014-06-16 19:12 漏洞类型:SQL注射漏洞 危害等级:高 自评Rank:15 漏洞状态: 已交由第三方厂商(cncert国家互联网应急中心)处理 漏洞来源:http://www.wooyun.org Tags标签: php+数字类型注射 php+字符类型注射 漏洞详情 披露状态:

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测试,结果盲注

如图:

5.PNG





2.测试当前用户root

6.PNG



3.当前的库和表

7.PNG



8.PNG



4.当前用户名和密码



9.PNG



10.PNG



结束

漏洞证明:

当前用户名和密码



9.PNG



10.PNG

修复方案:

数字型

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直接通报给中国联通集团公司处置。

最新状态:

暂无

当前位置:站长啦网站目录 » 站长资讯 » 站长新闻 » 漏洞预警 » 文章详细