将靶场文件夹放到phpstudy的www目录
进入pikach文件夹的inc目录,修改靶场配置文件config.inc.php,设置数据库账号密码均为root
启动phpstudy后访问本机ip目录下的install.php文件,进行安装初始化
二、暴力破解1、基于表单的暴力破解这种属于无验证码的情况,可直接抓包暴力破解
2、基于前端的验证码绕过(On client)这种将验证码的生成代码写在前端上是十分容易绕过的
验证码输入错误的情况下是不能抓包的,需先输入正确的验证码再抓包
然后再将数据包发送到爆破功能处,并且将验证码参数去除掉后再进行爆破
3、基于服务器的验证码绕过(On server)有些服务器后台是不刷新验证码的,所以抓到包后不要放包,这样验证码就一直有效,把包发到攻击模块直接爆破
4、绕过Token暴力破解token的作用:简单来说就是服务器给前端发的身份证,前端向服务器发送请求时都要带上这个身份证,服务器通过这个身份证来判断是否是合法请求
抓包发送给暴力破解模块,攻击类型选择pitchfork(音叉),需爆破的内容为密码和token。
攻击类型为音叉的时候,例如你要爆破账号和密码,你的账号字典为123,456;你的密码字典为147,258。那么你爆破的次数就为2次了,分别是(123,147),(456,258),也就是说账号字典和密码字典是一一对应的
修改密码的payload,添加密码的爆破字典
修改token的payload,点击选项里的Grep—Extract的添加,然后点击获取回复,选中token的值复制,然后点击OK
将token的payload类型设置成递归搜索,在递归搜索选项中的第一个请求的初始有效负载设置为之前复制的token
攻击后,通过响应的长度和内容判断是否爆破成功
三、XSS跨站请求攻击1.反射性xss(get)修改输入框的前端代码(输入框最大允许长度),否者XSS代码不能全部填进去
随后输入xss弹框代码:alert(1)
2.反射性xss(post)和前面差不多一样,先登录进去,然后输入弹cookie的xss代码
alert(document.cookie)3.存储型xss直接在留言框输入xss代码
4.Dom型Xss简单说一下什么是Dom型xss吧,就是向文档对象传入xss代码参数,然后操作文档对象时就会触发xss攻击
分析一下前端网页代码,可以发现输入框里的参数会被传递给A标签的href属性
点击A标签,触发xss弹框
5.xss之过滤script关键字被过滤,换个其他的标签就可以了,换个img标签,代码如下
6.xss之htmlspecialchars简单说一下specialchars这个函数吧,就是把单引号,双引号,尖括号过滤了,但是这个函数默认是不过滤单引号的,只有将quotestyle选项为ENT_QUOTES才会过滤单引号。
输入框的值会成为a标签的href属性,那么xss语句为:javascript:alert(1),就可以绕过了
四、Sql注入搜索型注入闭合符号为%', 注入payload: g%' union select database(),2,3#
xx型注入闭合符号变成了'), 注入payload:test') union select user(),database()#
insert注入用户注册页面是insert注入,payload:' and extractvalue(1,concat(0x7e,(database()))) and '1'='1
delete注入在留言版可以输入留言内容, 然后点击删除按钮可以刚刚留言的内容删掉
使用burpsuite抓取点击删除的数据包, 将id参数修改成要注入的payload: 57 or updatexml(1,concat(0x7e,database()),0) , 由于注入参数是get方式提交的, 因此需对id参数进行url编码, 编码后为57+or+updatexml(1,concat(0x7e,database()),0)
http header注入有些时候后台开发人员会验证前端发送来的请求头信息(如useragent、accept等), 然后将这些信息使用SQL语句进行处理, 若没有作严格的安全考虑, 则会导致http header的SQL注入漏洞
首先登录账号, 登录账号后会在页面显示用户请求头信息
抓取该页面的数据包,将user-agent的值改为单引号', 页面显示报错信息代表此处存在注入
将user-agent的值改为' or updatexml(1,concat(0x7e,database()),0) or ' ,注入成功爆出当前数据库
也可以将cookie的值改为' or updatexml(1,concat(0x7e,database()),0) or ' 来实现注入
宽字节注入抓取POST请求的数据包, 将name参数的值改为kobe%df' union select database(),2# , 页面注入成功爆出当前数据库名称
五、CSRF跨站请求伪造CSRF攻击原理CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者"Session Riding",通常缩写为CSRF或者XSRF
尽管听起来跟XSS好像差不多, 其实这两者是完全不同的。在CSRF的攻击场景中攻击者会伪造一个请求(该请求通常为url