Pikachu靶场通关教程
0x01 靶场介绍
Pikachu是一个带有漏洞的Web应用系统,在这里包含了常见的web安全漏洞。 如果你是一个Web渗透测试学习人员且正发愁没有合适的靶场进行练习,那么Pikachu可能正合你意。
暴力破解
基于表单的暴力破解
随便输入用户名和密码 admin admin 提示用户名或者密码错误 点击提示发现有admin用户 再次输入admin admin 用BP抓包进行爆破
导入字典,开始攻击 攻击完成后 发现payload为123456时 与其他长度不一 所以admin用户的密码为:123456
验证码绕过(on server)
与上个题目步骤一样 只不过多了验证码登录 但是验证码一直有效 不会对暴力破解产生影响
验证码绕过(on client)
在intruder里验证码也可重复使用,也可以审查元素把相关的代码删除
token防爆破?
这一关增加的Token值,用来防止爆破,不过在多次抓包在之后,发现每次返回的数据中含有下一次的Token值
满足以上条件我们就可以使用burp的鱼叉攻击进行爆破,线程必须为1,参数为password和token
password载荷设置:
token载荷设置,类型为递归搜索:
上图中,第五步复制的value值放入下图中:
开始攻击:
Cross-Site Scripting
反射型xss(get)
输入框输入:<script>alert('xss')</script> 不过有字数限制 审查页面元素时将maxlength更改为大的数值
反射性xss(post)
登录后直接:<script>alert('xss')</script>
存储型xss
留言板输入:<script>alert(document.cookie)</script>
DOM型xss
Payload:#' onmouseover=alert(document.cookie)>
DOM型xss
Payload:#' onmouseover=alert(document.cookie)> or #' onclick="alert(document.cookie)">
XSS盲打
这个是将留言保存至后台 当管理员登录查看留言时就会促发
Payload:<script>alert(document.cookie)</script>
xss之过滤
不知道过滤了什么 先将script大写
payload:<SCRIPT>alert('xss')</SCRIPT>
xss之htmlspecialchars
payload:
' onclick='alert(1)'
' onmouseover='alert(1)'
' onmouseover='javascript:alert(1)'
xss之href输出
这个页面会接收我们的输入的message,然后判断我们输入的网址,如果输入的不是百度会对我们输入的内容用 htmlspecialchars() 进行处理。
这个函数转义单引号、双引号和左右尖括号。然后输出到 a 标签的 href 属性中,在 a 标签的href属性中,可以用javascript协议来执行JS
payload:javascript:alert(document.cookie)
xss之js输出
从源码得知输入的内容嵌到script内部,于是考虑可以先闭合script标签然后再进行XSS
payload:</script><script>alert(1)</script>
CSRF
CSRF(get)
随便登录一个账户然后选择修改个人信息并抓包,然后即可根据包中数据构造钓鱼链接,发给受害者,在他保持登录状态的情况下,会将对应字段的信息改成攻击者设置好的内容
payload:http://x.x.x.x/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=test&phonenum=test&add=test&email=test@test.com&submit=submit
CSRF(post)
同样地,先登录。修改个人信息,然后抓包
信息变为POST方式提交 然后使用BP生成CSRF POC
构造好POC之后 切换用户模拟点击钓鱼网页
CSRF Token
这一关没有破解方法,主要是让你了解Token的运作机制 请求包中有一个Token
响应包中也有一个Token
这里我们就要分析一下这个token的作用了。按照前面csrf get的方法,攻击者会伪造一个GET URL去让用户点击。但用户正常提供GET请求时,会把服务器返回的token填入和提交,而攻击者伪造URL时除非前期抓包获取到这个返回的token,否则他是不会知道这个token的。所以攻击者无法构造GET URL。同理,对于POST方法也是一样。所以,使用token是一个很好的防御CSRF攻击的方法。