SQL注入之Sqli-labs系列第二十关(基于头部的cookie POST报错注入)

开始挑战第十八关(Cookie Injection-Error Based- string)

前言:

通常开发人员在开发过程中会特别注意到防止恶意用户进行恶意的注入操作,因此会对传入的参数进行适当的过滤,但是很多时候,由于个人对安全技术了解的不同,有些开发人员只会对get,post这种方式提交的数据进行参数过滤,往往会忽略掉cookie

 

 

同样的先来看看源代码,这里先会判断有没有cookie,若无,则先查询出来后在设置Cookie

SQL注入之Sqli-labs系列第二十关(基于头部的cookie  POST报错注入)

对于cookie又存在两种情况:

(1)第一种在登录退出后没有对cookie进行清除,这样cookie仍然是有效的,页面就会输出各种信息

SQL注入之Sqli-labs系列第二十关(基于头部的cookie  POST报错注入)

SQL注入之Sqli-labs系列第二十关(基于头部的cookie  POST报错注入)

(2)第二种情况,你点击了删除按钮

SQL注入之Sqli-labs系列第二十关(基于头部的cookie  POST报错注入)

SQL注入之Sqli-labs系列第二十关(基于头部的cookie  POST报错注入)

 后台就会吧cookie的时间设置为过期的时间,这样cookie就失效了

SQL注入之Sqli-labs系列第二十关(基于头部的cookie  POST报错注入)

所以我们下手的地方就在这,在登录不对Cookie进行删除进行操作

SQL注入之Sqli-labs系列第二十关(基于头部的cookie  POST报错注入)

同样的单引号等其他方式先看看报错信息

SQL注入之Sqli-labs系列第二十关(基于头部的cookie  POST报错注入)

这里大家应该能看懂是怎么回事吧,看不懂就翻翻我前面的文章,闭合操作搞起

SQL注入之Sqli-labs系列第二十关(基于头部的cookie  POST报错注入)

order  by进行字段数查询,这里是三个

SQL注入之Sqli-labs系列第二十关(基于头部的cookie  POST报错注入)

union select联合查询

SQL注入之Sqli-labs系列第二十关(基于头部的cookie  POST报错注入)

获取数据库

SQL注入之Sqli-labs系列第二十关(基于头部的cookie  POST报错注入)

获取表名

SQL注入之Sqli-labs系列第二十关(基于头部的cookie  POST报错注入)

获取字段名

SQL注入之Sqli-labs系列第二十关(基于头部的cookie  POST报错注入)

获取数据

 SQL注入之Sqli-labs系列第二十关(基于头部的cookie  POST报错注入)