pikachu靶场(持续更新中)
pikachu
暴力破解
基于表单的暴力破解
直接使用bp进行抓包,对账号密码进行字典攻击,返回长度与其他值不同的为正确的回显。
验证码绕过
on server
由于服务端进行验证码检测,所以对输入一个正确的验证码后抓包对账号密码进行字典攻击,不对验证码进行修改。(这种情况只存在于服务端校验时不对验证码设置时间限制或者同一验证码使用次数)
on client
网页前端对输入的验证码进行比较(发送数据流量包是在前端检验之后进行发送,而且由于服务端对验证码没有检验,所以在抓到正确的流量包后进行重放是可以不发送验证码这一项)所以在一次的正确输入验证码后,进行抓包,对账号密码进行字典攻击。
token防爆破
网页前端只有账号密码输入,查看源码可以发现由隐藏的值token(Token是首次登陆时由服务器下发,作为客户端进行请求的一个令牌,当交互时用于身份验证的一种验证机制,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码),token值会从服务器返回,需要每一次重新从返回的数据中获取,所以需要使用pitchfork(音叉)模式进行攻击,音叉攻击模式可以设置payload的对应关系,即根据顺序一个payload1对应一个payload2.
设置第一个payload(Payload set1设置的是第一个攻击的payload密码)是使用普通的字典攻击的设置模式(进行字典攻击)
第二个payload(Payload set2设置的是第二攻击的目标token)是使用递归攻击模式(Recuesive grep),设置token的值从客户端返回的界面token值中获取(在攻击时应该设置第一个攻击的字符串为recatch的token值)
Cross-Site Scripting
反射型xss
get
在输入后查看网页源码可以发现输入的格式作为text格式被输入(没有通过htmlspecialchars()将输入转为纯文字导致代码被执行),而且没有存在过滤,直接输入 <script>alert(1)</script>
进行xss攻击。需要注意对网站前端的输入限制进行修改,maxlength对输入的长度进行20的限制,需要进行修改让代码可以被输入。
post
在未登录界面的,账号密码登录界面测试xss,发现没有弹窗。进行字典爆破登录,登陆后,测试xss。<script>alert(document.cookie)</script>
储存型xss
界面是一个输入框,直接测xss <script>alert(document.cookie)</script>
DOM型xss
DOM(文档对象模型),是HTML和XML文档的程序接口DOM是一个前端的接口,没有和后端有任何交互。
“’”符号可以可以让href=’的符号提前闭和,后面的文本会被一个url指向,点击这个链接会直接执行function domxss()函数,输入的代码会被执行。’><img src="#" onmouseover="alert('xss')">
执行代码后,会生成一个图像文件 将鼠标放在上面可以直接弹窗。
' onclick-"alert('xss')")">
代码执行后点击what do you see? 会弹出弹窗。
DOM型xss-x
初始界面随便输入数据无法定位输入的位置,点击有些费尽心机想要忘记的事情,后来真的就忘掉,会弹出一个新的界面,这个时候进行输入就可以定位输入的内容。
输入payload ' onclick="alert(1)">
xss之盲打
两个测试框都输入payload进行测试(<script>alert(1)</script>
),在登录后台时出现了弹窗。
xss之过滤
尝试进行xss攻击 输入 <script>alert(1)<script>
javascript:alert(1)
出现报错 > javascript:alert() 被过滤。
对大小写进行变换 <SCRIPT>alert(1)</SCRIPT>
发现绕过了检测。
xss之htmlspecialchars
设计payload <script>alert(1)</script>
很多符号会被过滤,所以使用 javascript:alert(1)
xss之href输出
href属性的值可以是任何有效文档的相对或绝对URL,包括片段标识符和 JavaScript 代码段。如果用户选择了 <a>
标签中的内容,那么浏览器会尝试检索并显示 href 属性指定的 URL 所表示的文档,或者执行 JavaScript 表达式、方法和函数的列表;也就是说可以直接输入javascript代码段执行。
payload设置为 javascript:alert(1)
xss之js输出
输入的内容被输入到了$ms变量中,需要提前制造闭合,输入 '</script>
将代码提前闭合,输入 <script>alert(1)</script>
执行xss攻击。
CSRF
get
抓包获取修改个人信息链接/vul/csrf/csrfget/csrf_get_edit.php?sex=1&phonenum=1&add=1&email=hacker%40qq.com&submit=submit
其他用户进行访问这个链接,就会被修改为kobe用户的信息。
post
需要使用CSRFTester进行网页制作,制作表单进行攻击(post传参不能通过url进行传参需要制作表单进行操作).
Token
存在token对CSRF攻击防御,每一次对表单进行访问都会分发一个随机的token,所以不能通过这个进行攻击。
SQL-Inject
RCE
File Inclusion
Unsafe Fileupdown
Unsafe Fileupload
Over Permission
../../
敏感信息泄露
PHP反序列化
XXE
URL重定向
SS