golang—SQL注入正则表达式

本文介绍了如何使用Go语言编写正则表达式来防范SQL注入攻击,虽然作者承认自己的方法可能不够完美,但内容对于理解SQL注入防御有一定参考价值。由于篇幅原因,十六进制检测部分未详尽阐述。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本人水平有限 有些地方写的较为繁琐 仅供参考 

十六进制检测没有写全

****************************************

‘ or 1=1  and 1=1  'a'='a' 类型:
*****************************************
((\x27|')?\s+(o|O)(r|R)|^(o|O)(r|R))\s+?[[:alnum:]]+\s*(=|>|<|<>|>=|<=)\s*[[:alnum:]]+\s*


((\x27|')?\s+(o|O)(r|R)|^(o|O)(r|R))\s+?(\x27|')[[:alnum:]]+(\x27|')\s*(=|>|<|<>|>=|<=)\s*(\x27|')[[:alnum:]]+(\x27|')\s*


((\x27|')?\s+(a|A)(n|N)(d|D)|^(a|A)(n|N)(d|D))\s+?[[:alnum:]]+\s*(=|>|<|<>|>=|<=)\s*[[:alnum:]]+\s*


((\x27|')?\s+(a|A)(n|N)(d|D)|^(a|A)(n|N)(d|D))\s+?(\x27|')[[:alnum:]]+(\x27|')\s*(=|>|<|<>|>=|<=)\s*(\x27|')[[:alnum:]]+(\x27|')\s*


*****************************************
and 0<(select count(*) from admin) 类型:
*****************************************


((\x27|')?\s+(a|A)(n|N)(d|D)|^(a|A)(n|N)(d|D))\s+?\w+(=|>|<|<>|>=|<=)\s*?\(.*\)?


((\x27|')?\s+(a|A)(n|N)(d|D)|^(a|A)(n|N)(d|D))\s+?\(.*\)\s*?(=|>|<|<>|>=|<=)\s*?\w+


*****************************************
select ..from..
*****************************************


(select|Select|SELECT)\s+.*\s+(from|From|FROM)\s+


*****************************************
关键字
*****************************************
((;|\(| )(insert|INSERT|Insert)|^(insert|INSERT|Insert))\s+(into|Into|INTO)\s+
((;|\(| )(update|Update|UPDATE)|^(update|Update|UPDATE))\s+\w+\s+(set|Set|SET)\s+\w+\s?=.*
((;|\(| )(delete|Delete|DELETE)|^(delete|Delete|DELETE))\s+(\*\s+)?(from|From|FROM)\s+.*
((;|\(|)(drop|Drop|DROP)|^(drop|Drop|DROP))\s+((table|Table|TABLE)|(index|Index|INDEX)|(database|Database|DATABASE))\s+
(\n|\s)+?(Union|union|UNION)(\n|\s)+?


*****************************************
--和#
*****************************************
--|#|\x23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值