中国联通3G某站多处sql注入漏洞下载
-
来源:黑吧安全网 浏览:742次 时间:2014-06-17
中国联通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();