发布网友 发布时间:2022-04-25 14:02
共2个回答
懂视网 时间:2022-05-03 06:35
宽字节注入是由编码不统一引起的,一般是在PHP+MySQL中出现
(6)堆查询注入
堆叠查询可以构造执行多条语句
(7)二次注入
将攻击者构造的恶意数据存储在数据库后,恶意数据被读取并进入到SQL查询语句所导致的注入。
(1)数字型注入
判断步骤
1.首先在参数后加个单引号,URL:www.3333.com/text.php?id=1’ 对应的sql:select * from table where id=3’ 这时sql语句出错,程序无法正常从数据库中查询出数据,就会抛出异常;
2.在参数后加 and 1=1 www.33333.com/text.php?id=1 and 1=1 对应的sql:select * from table where id=3’ and 1=1 该语句前后都为真,语句执行正常,与原始页面无任何差异;
3.在参数后加 and 1=2 www.33333.com/text.php?id=1 and 1=2 对应的sql:select * from table where id=3’ and 1=2 该语句为假,所以无法返回结果,返回异常。
一般满足以上三点就可以认定该注入点的类型为数字型注入。
(2)字符型注入
判断步骤
1.加单引号:select * from table where name=’admin’’ 由于加单引号后变成三个单引号,则无法执行,程序会报错;
2.加 ’and 1=1 此时sql 语句为:select * from table where name=’admin’ and 1=1’ ,也无法进行注入,还需要通过注释符号将其绕过;(MySQL常用的注释符号有# -- (后面还有个空格) /* */)
构造语句为:select * from table where name =’admin’ and 1=1#’ 可成功执行返回结果正确;
3.加and 1=2— 此时sql语句为:select * from table where name=’admin’ and 1=2 –’则会报错。
如果满足以上三点的话,基本可以认定为字符型注入。
SQL注入之注入点的寻找
标签:绕过 www 数据请求 测试 http请求 一个 进入 符号 错误信息
热心网友 时间:2022-05-03 03:43
计算机虽然认得1和2,知道他们的value,但是仍然不清楚他们到底是什么。你告诉服务器,让他显示数据库里wm=2012043533的信息,网页就显示了。你让他显示这个之外,同时告诉他1=1,他同意,正常显示,可是你告诉他1=2,他脑子就崩溃了,怎么1能等于2呢?!网页就不显示原来的信息,而是数据库错误了!如果仅依靠变量的value加and,1=1和1=2返回的页面不同做注入点判断,你被网页设计者玩死都不知道怎么死的。已经有很多网站,前台故意引你们这些喜欢用工具的上当,以为从注入点扫出东西来了,去后台,输入,呵呵,总是不对。其实故意记录你的犯罪证据的。至少我见过小日本有很多这么干的。