[求助!] 判断sql注入漏洞方法
想自己写一个sql注入漏洞检测的小模块,看了很多论文,都是在url后添加and 1=1和 and 1=2 进行比较,请问这个原理是什么?还有什么其他的方法么? sql注入点判断主要都是确定参数是否带入到后台数据库查询,不一定要写and 1=1,现在很多都有做过滤,你只要修改一下参数看看能否有值返回就好了,id=dwadwadwa这些都可以对注入点进行判断不一定要and1=1,
因为and1等于1肯定成立,整条语句可能成立。而and1=2整条语句肯定不成立,因为需要and左右两边都符合,这是与数据库的交互,建议楼主先学习数据库。
还有判断方法id=1' 布尔盲注(Boolean-based Blind SQL Injection):通过修改输入参数并观察应用程序的响应(通常是页面返回的错误或空白),利用SQL语句的逻辑(如EXISTS、AND、OR等)推断出数据库中的信息。
时间盲注(Time-based Blind SQL Injection):利用SQL中的延时函数(如SLEEP())制造查询延时,通过观察页面响应时间来推断SQL语句是否被执行。
联合查询(Union-based SQL Injection):当SQL查询结果可以通过UNION SELECT语句与其他查询结果合并时,可以插入恶意的UNION SELECT语句来尝试检索额外的数据库信息。
错误消息分析(Error Message Analysis):观察数据库错误消息(如MySQL的默认错误消息)中的敏感信息,推断数据库结构或内容。
页:
[1]