实验环境:
DVWA靶机:172.16.12.10
windos攻击机:172.16.12.7
kali攻击机:172.16.12.30
实验步骤:
一、数字型注入
下拉菜单,没有输入界面,那直接BP抓包,修改id参数为 adn 1=1测试
输入 1 or 1=1 测试 如下,直接爆出所有用户
直接用三板斧干就行。
二、字符型注入(get)
输入 kobe' or 1=1#,成功列出所有id,由于是构造闭合,是字符型注入
后续爆破就行
三、搜索型注入
不知道id,输入ko显示kobe,查看url和get型一样
输入ko' or 1=1# 同样存在注入
四、xx型注入
看了半天没看懂,,啥叫xx型注入,单双引号闭合都失败了,看了下报错,明白了,就是增加了特殊字符的闭合方式。
针对这种类型的注入,只要找到对应的闭合方法即可,从刚刚的报错中,发现是使用)'闭合的,构造语句即可
输入 kobe') or 1=1# 成功
五、Isert/update注入
1、Insert注入
就是想数据库中插入数据,我们先点击注册
然后用户名密码都填1111,抓包分析
这里采用报错注入,updatexml(),XPATH语法错误产生报错
用户名输入 cuicui' and updatexml(1, concat(0x7e,database()), 0) or' 1
密码随便输个111
点击提交,存在注入
2、Update注入
同理,注册成功登录以后,点修改信息
随便在哪个框输入 cuicui' and updatexml(1, concat(0x7e,database()), 0) or' 1
报错,存在注入
六、delete注入
随便输入111,然后提交
打开BP抓包,然后删除刚才的留言,重复几次操作,发现id的值一直变,可能存在注入
我们还是基于报错注入试一下
61/**/or/**/updatexml(1,concat(0x7e,database()),0),由于没法使用空格,所以这里使用了/**/来代替空格
放包,成功执行
七、http头注入
首先,登陆密码需正确。发现ip,user-agent,http-accept都被记录到数据库了
退出重新登录,打开BP抓包,在user-agent试试注入
1' and updatexml(1, concat(0x7e,database()), 0) or' 1
点击放包,发现页面会发生302重定向,我们再次修改UA
点击放包,发现报错,存在注入
八、基于boolian的盲注
输入kobe' and 1=1#,正常显示
输入kobe' and 1=2#,显示用户名不存在,判断为盲注
输入 kobe' and length(database())>6# ,有回显,存在注入
九、基于时间的盲注
输入 kobe' and if(length(database())=7,sleep(5),1)#,页面5秒以后才刷新,说明存在时间盲注
十、宽字节注入
打开BP抓包
name处修改为 kobe%df' or length(database())=7#
存在注入