偏移注入-常见问题汇总

偏移注入常见问题汇总

 

1. Access偏移注入使用场景

一些无法查询的列名,比如权限不足的知道表名却不知道字段 使用偏移查询主要查询字段及内容等

 

2. 偏移注入是否仅用于Access

不是,mysql也可以使用偏移注入

 

3. 为什么可以cookie注入

因为在这里接受参数的时候使用了REQUEST,他可以接受get 和POST 和 COOKIE的传参

 

4. 为什么cookie注入可以绕过验证

因为早期网站防护只检测GET和POST传参,没有检测COOKIE

 

5. Cookie注入常见吗?

老一点的ASP网站常见,PHP看版本,因为高于5.2以上的php版本他的$_REQUEST将不再接受cookie传参

 

6. cookie注入时为什么要删除URL内的id传参

因为它传参进去会有一个输出,cookie里我们也传参了一个id数值,他会优先接受GET的传参

 

7. ".*"的作用

用于代替表内全部字段,在不能用系统自带库查字段名时

 

8. 与正则表达式中的*有什么不同

正则中的*代表匹配前面的0或无数次,而这里的*指定表中所有的字段,admin.*是指admin表中所有的字段

 

9. 偏移注释时联合查询后的一张表为什么要小于前一张表

联合查询必须要满足一个条件,就是前面的查询和后面的查询字段数必须相等,因为前面那张表的查询字段数是固定的,后面那张我们控制,但是当你使用admin.* 代表admin整个表的字段,如果admin表字段比前面那个表多,就不符合联合查询

 

 

10. 为什么flag的输出点会在图片里出现

数据库里面他保存了图片的链接地址,然后拼凑到了页面上

 

11. 为什么没用到information_schema

access数据库里没有系统自带表,只能猜

 

12. 前面的sql应该报错而不显示

虽然不显示但还是占了输出位,只显示了正确的

能查到所有数据吗

看具体环境,有的时候正好能全部查出,有的时候只能查出部分

 

13. union 联合查询前为什么要加and 1=2

因为显示的时候有时只能返回第一行的数据,加上and 1=2后使前面的语句报错,前一行就没用输出了,从而显示后一条语句

 

14.为什么偏移注入要用1,2,admin.*呢

因为我们不知道这个表中的具体字段名,xxx.*代表所有字段,把表二所有字段字段都显示出来,然后再来找那个具体的字段

 

15. 能不能直接写*

不能,直接写*的话不知道你这个代表了是那个表

 

16. xxx.*可以代表任意字段及数量吗

代表XXX表的所有字段

 

17. 那么可以用select * from代替select 1,admin.*吗?

不能,直接加*的情况下,我们无法控制Union后的字段输出个数,union是在两个表的字段数要相同的情况下才可以成立的,否则联合查询不能执行

 

18. 不能查information_schema怎么得知表名

可以靠爆破和尝试一些常用表名(例如:news、admin、user)

 

19. 整个SQL语句都能操控吗

不能,我们只能在原有的select查询的基础上加上联合查询的语句,我们不能控制他之前的查询

 

20. admin.* 代表一个任意字段?

admin.*代表了所有字段

 

21. and exist(select * from admin) 类似的盲注的语句能否使用

这里主要是涉及偏移注入,那一条的确是access的盲注语句,但在现在的情况下并不适用,因为你不知道字段名,无法盲注

 

22. 为什么access数据库union 联合查询在查字段后要加 from

因为access数据库在报显示位是要确定一个表名

 

23. admin是当前表吗

不是,只是指定了admin表

 

 

 

posted @ 2019-07-28 10:16  正一同学  阅读(557)  评论(0编辑  收藏  举报