i春秋 web SQLi

SQLi

 

首先看到一个空白页面查看源码之后给出了一个注入点,但是怎么都没有反应。假的!!!

然后百度之后才知道题目给出的链接和访问进去的链接是不一样的,进行了302重定向,在进去题目的时候就跳转了

然后抓包,发现了

 

 

 

 

 请求和响应的链接竟然有一丝丝不同,我也是跪了!!!发现响应头中的链接把l换成了1,然后访问正确的链接,是空白的

在响应头中发现页面中有注入点,非常的细致,

 

 然后访问l0gin.php?id=1,出现了表单,进行注入,先进行基础的注入,order by语句查看

 

 发现在第3的时候id下面出现了id后面输入的内容,这里应该就可以注入啦,基于时间或布尔的盲注

 

 发现输入内容的逗号后面的部分都被过滤了,然后百度绕过逗号的方法,用join语句代替逗号

 

 

 

 绕过成功了,然后继续查询,表名-1‘ select * from(select table_name from information_schema.tables where table_schema='sqli') a join (select version()) b %23

 

查字段名 -1‘ select * from(select column_name from information_schema.columns where table_schema='sqli' and table_name = 'users') a join (select version()) b %23

 

只出现了id一个,用group_concat将所有的列出来

 

 查询字段

 

 

总结:

重定向一般发生在访问域名而且不加参数或者文件夹名,文件名这样的情况下

sql注入也要留意HTTP信息的变化

可以利用SQL map跑一下看看有没有有用的信息

不使用单引号和逗号的注入的注入技巧(join语句代替)

1.substr()函数

substr(string,start,length)

string(必需)规定要返回其中一部分的字符串。

start(必需)规定在字符串的何处开始。

length(可选)规定被返回字符串的长度。

2、join语句绕过拦截逗号

 

posted @ 2020-03-15 15:16  Hello_date  阅读(289)  评论(0编辑  收藏  举报