随笔分类 - sqli-labs
1
mysql order by基于时间的盲注
摘要:order by后面的注入,一般先尝试报错注入,无报错的时候可以通过rand(ture)和rand(false)来进行bool型盲注,但是今天遇到完全没有数据回显的(也就是数据库中没有数据)情况,这就比较麻烦了。记录一下sql语句 参考文章:https://www.cnblogs.com/baber
阅读全文
sqli-labs(十八)
摘要:第五十五关:和上一关类似,只是拼凑的方法不一样,所以需要先判断后台是怎么拼凑的 分别输入id=1'--+ id=1"--+ id=') --+ id=1")--+ id=1)--+ 发现只有id=1)--+可以正常显示,说明是数字型 用的括号闭合。 后面的流程就一样了。 第五十六关、五十七关也和之前
阅读全文
sqli-labs(十七)
摘要:第五十四关: 这关大概意思就是尝试次数不能多于十次,必须十次之类查询处特点的key。 第一次:输入单引号报错 第二次:输入双引号不报错 说明后台是单引号进行的拼凑 第三步:这里应该是判断列,用order by来判断。 这里已知是三行(手动滑稽) 第四步:?id=-1' union select 1,
阅读全文
sqli-labs(十六)(order by注入)
摘要:第四十六关: http://www.bubuko.com/infodetail-2481914.html 这有篇文章讲得还不错可以看下 这关是order by后面的一个注入,用报错注入和盲注都是可以的 先看源码吧 可以看到是order by后面存在注入漏洞。 输入?sort=1' 页面报错,可以使用
阅读全文
sqli-labs(十五)(堆叠注入)
摘要:第三十八关: 后面好几关都是堆叠注入。简单介绍下: Stacked injections:堆叠注入。从名词的含义就可以看到应该是一堆sql语句(多条)一起执行。而在真实的运用中也是这样的,我们知道在mysql中,主要是命令行中,每一条语句结尾加 ; 表示语句结束。这样我们就想到了是不是可以多句一起使
阅读全文
sqli-labs(十四)(宽字节注入)
摘要:数据库使用gbk编码的时候,会将两个字符合并成一个中文。 写在前面吧,对php的代码审计也会有帮助 直接使用 set character_set_client=gbk 或者是常见的mysql_query("SET NAMES gbk");都会存在款字节注入。 官方推荐使用Mysql_set_char
阅读全文
sqli-labs(十三)(hpp)
摘要:第二十九关 这关说的是有waf,其实只是模拟waf的场景,就是说waf处理的变量和后台程序接受的变量不一致。 考验的参数污染,具体可以参考其他文章关于HPP的解释。 先看源码吧: 输入?id=1&id=' union select 1,database(),3 --%20 可以看到我打印的这个1,这
阅读全文
sqli-labs(十二)(union以及select的过滤)
摘要:第二十七关: 这关禁用了空格和select,空格还是可以使用()代替,select发现可以大小写绕过 输入?id=1'||extractvalue(1,concat(0x5c,(selEct(group_concat(schema_name))from(information_schema.sche
阅读全文
sqli-labs(十二)(and和or的过滤)
摘要:第二十五关: 这关是过滤了and 和or 输入?id=1' or '1'='1 发现or被过滤了,将or换成and也一样。 输入?id=1' oorr '1'='1 这样就可以了,将一个or置空后,oorr还是会变成or。 其实感觉这关有点问题就是,这关可以利用联合注入来查询,其实根本不需要and和
阅读全文
sqli-labs(十一)(二次注入)
摘要:第二十四关: 这关考验的是sql的二次注入。 这关是一个登陆加注册的功能点,登陆的地方没有注入,账号密码都输入输入'",页面只会显示登陆失败。 但注册账号的地方没有做过滤可以注册带有单引符号的用户,比如可以直接注册一个单引符号的用户 其实从源码中可以看到,只要是用户输入的参数,再放入sql进行拼凑之
阅读全文
sqli-labs(十)(过滤注释符)
摘要:第二十三关: 这关还是一个GET型、字符串、单引符号、的有报错的sql注入,输入?id=1' ,页面会报错 我们继续按照之前的套路来,先输入?id=1' or '1'='1 页面正常显示,说明这个地方又很有可能存在sql注入。继续输入?id=1' or '1'='1' %23 发现页面居然报错,从报
阅读全文
sqli-labs(九)_COOKIE处注入
摘要:第二十关: 这关是一个Cookie处的注入,输入正确的账号密码后,会跳到index.php页面,如下图 这个时候再访问登陆页面的时候http://localhost/sqli-labs-master/Less-20/还是上面的页面,因为登陆后将信息存在了Cookie中,后台进行判断,发现Cookie
阅读全文
sqli-labs(八)——修改密码处sql注入+http头sql注入
摘要:第17关: 这是一个重置密码的功能存在sqk注入,尝试账号密码都输入'",发现只会显示登陆失败,没有报错信息。 这个时候先推测一下后台的sql形式大概应该是: update users set password = ? where name =? 那么实际上是有两个处注入,我们可以先尝试name参数
阅读全文
sqli-labs(七)——登陆处sql注入
摘要:第十三关: 这关也是一个登陆口,和上关所说的一样,先使用'"试一下,让程序报错然后判断后台的sql语句 可以看到后台sql大概是 where name = ('$name')... 这样的 post信息中输入uname=1') or '1'='1' #&passwd=1&submit=Submit
阅读全文
sqli-labs(六)
摘要:第十一关: 这关是一个登陆口,也是一个sql注入的漏洞,也就是常说的万能密码。 在输入框账号密码种分别输入 1' 和1' 页面会报错。 后台使用的单引符号进行的拼接。账号输入1' or '1'='1 密码输入 1' or '1'='1 其实输入任意账号 密码输入1' or '1'='1也可以进去。
阅读全文
sqli-labs(五)——盲注(boolean盲注以及时间盲注)
摘要:第八关: 没有查询信息,输入id=1' 报错 ,也没有报错信息,这里应该是个盲注 使用boolean的盲注吧 先判断boolean的盲注可行 输入id=1' and '1'='1' %23 页面正常 输入id=1' and '1'='2' %23 页面出错 有几个mysql内置的函数需要记住: le
阅读全文
sqli-labs(四)
摘要:第七关: 输入?id=1 页面显示如下,可以看出这关大概是锻炼利用sql来写入一句话木马。 这里说我下我的探测流程(主要是为了知道后台的sql是怎样拼凑的): 输入?id=1' 报错 说明后台是用的单引符号进行的拼凑 输入?id=1'%23还是报错 输入?id=1')%23还是报错 输入?id=1'
阅读全文
sqli-labs(三)
摘要:第五关:这关的重点是有联合查询的注入漏洞,但是页面不会显示查询信息,但是会有报错信息显示在页面上 这关是双查询注入,其实用报错注入和盲注都是可以注入的,但是我觉得这个双查询注入还是很有意思的,所以这关我们还是用双查询注入 的流程来走。 https://www.2cto.com/article/201
阅读全文
sqli-labs(二)
摘要:第二关:sqli-labs的第二关是有报错信息的int类型的sql注入,输入id=1'后也会报错,如下图 可以看到报错信息种显示的是'' limit 0,1' 这处有错,其中前后两个单引符号是报错信息自己加上去的,所以真正在sql语句的字符串是 'limit 0,1 是可以看出来该处是个int类型的
阅读全文
sqli-labs(一)
摘要:第一关:第一关会讲的比较详细,后面的关卡中只有特殊的地方我会单独拿出来说。 第一关是一个很简单的string类型的sql注入,并且会报错,输入参数id=',页面会报错 值得注意的是: 1.报错信息中 near "1" limit 0,1' at line 1,但是我们输入的是1',所以说这半句中的单
阅读全文
1