PHP 板


LINE

看板 PHP  RSS
大家好 我原本一直以为要解决SQL injection就是把参数都做过一番处理 把可能造成问题的字元字串都清除掉就没事了 怎知最近收到资安报告有3个程式都说有Blind SQL injection的高风险存在 这3个程式共同点就是都没有任何参数(也就是$_GET[]是empty、QUERY_STRING是'') 报告中的测试语法是: User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21 X-Forwarded-For: 0'XOR(if(now()=sysdate(),sleep(0),0))XOR'Z X-Requested-With: XMLHttpRequest Connection: keep-alive Accept: */* Accept-Encoding: gzip,deflate Host: xxx.xxx.xxx.xxx 坦白说....我看不太懂 是指骇客可以用XFF写入这串语法造成程式无法执行吗@@ 但目前查了一下相关资料似乎大部分 先不论在XFF自行输入这串语法透过HTTP会造成什麽样的作用 但如果这是问题来源 我目前规划的解决方式有几种,但不晓得到底方向正不正确,所以想请教大家: 方案1: 先检查 $_SERVER["HTTP_X_FORWARDED_FOR"] 看有没有乱七八糟的字串 理论上应该都是IP(也就是必须一定是 [数值.数值.数值.数值] 的格式) 如果不是就一律封杀 不晓得会不会有什麽副作用反而连不该封杀的也封杀了? 还有Header里面除了XFF是不是其他地方也必须有此防范? 方案2: 检查 QUERY_STRING 看是不是空白或者 $_GET 是不是empty 不是的话也一律封杀 (虽然这样做好像没有意义 因为原本这些程式就完全没有处理参数?) 以上问题还请大家指教和指正 也谢谢大家耐心看完 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.124.101.142
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1557956749.A.975.html ※ 编辑: techcrpa (140.124.101.142), 05/16/2019 06:15:11
1F:→ crossdunk: 怎麽不用pdo就好 05/16 10:58
2F:推 tecnniv: pdo是不是唯一解啊@@ 哭哭 05/16 12:52
3F:→ MOONRAKER: 别的lib如果有prepared statement也可以啦 05/16 13:48
4F:推 crossdunk: 你是用分身回推文吗= = 05/16 14:05
5F:推 tecnniv: 电脑和手机用不同嘛XD 所以不用去处理header的内容分析 05/16 16:25
6F:→ tecnniv: 只要先处理好prepared statements就好了(通过弱扫)? 05/16 16:25
7F:推 tecnniv: 不对啊? 我还是不太懂 像这种写进Header里面的语法 跟资 05/16 16:53
8F:→ tecnniv: 料库的关联是? 为什麽透过pdo和prepared statements来存 05/16 16:54
9F:→ tecnniv: 取资料库就同样能够处理这样状况呢? 05/16 16:54
10F:推 a0960330: 就算有prepare statements,弱扫工具会知道? 05/16 19:07
11F:推 st1009: 方案一莫忘IPv6 05/16 19:33
感谢st大!!!! 我的确忘了这件事@@ 我修改完会去辨识是IPv4或IPv6这两种回传的IP了(还真的是有IPv6的来源...)
12F:推 Crow22312: 查看看有没有把 IP 纪录到资料库的程式片段吧 05/17 02:27
13F:→ Crow22312: 网路上取得使用者 IP 的范例十个有九个会依序巡过包含 05/17 02:29
14F:→ Crow22312: 这个 header 的, 如果有又没挡就像他扫的一般中标啦 05/17 02:29
15F:推 tecnniv: 有的 就是做了这纪录然後抓到XFF不少不是ip而是OR XOR跟 05/17 03:23
16F:→ tecnniv: 一些诡异逻辑判断式 05/17 03:23
17F:推 Crow22312: 所以这个 header 跟 sql injection 的关联就确定了吧 05/17 04:03
18F:→ Crow22312: 只要有机会被玩填字游戏就算是漏洞, 邪恶者总是有办法 05/17 04:05
19F:→ Crow22312: 出奇不意的塞东西, 特殊条件下 (字集) 也是有机会躲过 05/17 04:06
20F:→ Crow22312: preg_replace 之类的土制筛选手法.. 所以最理想还是 05/17 04:06
21F:→ Crow22312: 交给 pdo 去处理.. (当然 prepar statement 下错依然.. 05/17 04:07
22F:推 Crow22312: 夜半脑子不清楚更正一下.. 字集的漏洞是针对 pdo 的, 05/17 04:22
23F:→ Crow22312: regexp 的则是另有一堆, 像是这篇里的 [0x01] 05/17 04:23
24F:→ Crow22312: https://www.exploit-db.com/papers/17934 05/17 04:23
谢谢Crow大 这网页超详尽 这样我完全明白了 目前已经都改成pdo的prepared statements了 谢谢大家的帮忙 ※ 编辑: techcrpa (61.216.122.103), 05/20/2019 17:24:09







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP