QQ扫一扫联系
在服务器日常巡检中发现一切异常请求日志如下,日志进行了精简,格式有三列,主要
请求方法 Method
请求地址 Url
前向代理IP
请求User-Agent
GET "https://xxx.com/xxx" "hJy0y3ne' OR 220=(SELECT 220 FROM PG_SLEEP(15))--" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" GET "https://xxx.com/xxx" "1'\x22" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" GET "https://xxx.com/xxx" "umtxGWus')) OR 737=(SELECT 737 FROM PG_SLEEP(15))--" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" GET "https://xxx.com/xxx" "1 \xC0\xA7\xC0\xA2%2527%2522" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" GET "https://xxx.com/xxx" "R9mo2lUI')) OR 855=(SELECT 855 FROM PG_SLEEP(15))--" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" GET "https://xxx.com/xxx" "@@ktafg" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" GET "https://xxx.com/xxx" "cvBg0p2I') OR 20=(SELECT 20 FROM PG_SLEEP(15))--" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" GET "https://xxx.com/xxx" "fp6bgo9o' OR 662=(SELECT 662 FROM PG_SLEEP(15))--" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36"
可以看到用户伪造了请求的代理IP地址为一些SQL注入语句。
代理 IP 是指用户在访问某个网站时,通过代理服务器发送请求的 IP 地址。代理 IP 可以隐藏用户的真实 IP 地址,帮助用户保护隐私。
但是,攻击者也可以利用代理 IP 进行 SQL 注入攻击。SQL 注入攻击是指攻击者向 Web 应用的输入字段中插入恶意的 SQL 代码,从而获取数据库中的信息。
通常情况下,后端程序在处理类似IP之类的数据,通常会忽略校验,这样就会导致SQL注入语句被执行。
为了防御代理 IP 的 SQL 注入攻击,Web 应用可以使用以下方法:
对用户输入进行过滤:Web 应用可以使用正则表达式或其他方法对用户输入进行过滤,以便拦截恶意的 SQL 代码。
使用预处理语句:Web 应用可以使用预处理语句来执行 SQL 查询,以便避免直接拼接 SQL 语句。
使用参数化查询:Web 应用可以使用参数化查询来执行 SQL 查询,以便避免直接拼接 SQL 语句。
注入语句无处不在,只要是来自客户端的数据均不能信任。