pikachu

暴力破解

基于表单的暴力破解

直接使用bp进行抓包,对账号密码进行字典攻击,返回长度与其他值不同的为正确的回显。

1703766096109

验证码绕过

on server

由于服务端进行验证码检测,所以对输入一个正确的验证码后抓包对账号密码进行字典攻击,不对验证码进行修改。(这种情况只存在于服务端校验时不对验证码设置时间限制或者同一验证码使用次数)

1703767671512

on client

网页前端对输入的验证码进行比较(发送数据流量包是在前端检验之后进行发送,而且由于服务端对验证码没有检验,所以在抓到正确的流量包后进行重放是可以不发送验证码这一项)所以在一次的正确输入验证码后,进行抓包,对账号密码进行字典攻击。

1703769040567

1703768600028

token防爆破

网页前端只有账号密码输入,查看源码可以发现由隐藏的值token(Token是首次登陆时由服务器下发,作为客户端进行请求的一个令牌,当交互时用于身份验证的一种验证机制,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码),token值会从服务器返回,需要每一次重新从返回的数据中获取,所以需要使用pitchfork(音叉)模式进行攻击,音叉攻击模式可以设置payload的对应关系,即根据顺序一个payload1对应一个payload2.

1703817579623

设置第一个payload(Payload set1设置的是第一个攻击的payload密码)是使用普通的字典攻击的设置模式(进行字典攻击)

1703827484236

第二个payload(Payload set2设置的是第二攻击的目标token)是使用递归攻击模式(Recuesive grep),设置token的值从客户端返回的界面token值中获取(在攻击时应该设置第一个攻击的字符串为recatch的token值)

1703828212656

1703827537204

1703827385440

Cross-Site Scripting

反射型xss

get

在输入后查看网页源码可以发现输入的格式作为text格式被输入(没有通过htmlspecialchars()将输入转为纯文字导致代码被执行),而且没有存在过滤,直接输入 <script>alert(1)</script>

进行xss攻击。需要注意对网站前端的输入限制进行修改,maxlength对输入的长度进行20的限制,需要进行修改让代码可以被输入。

1703829183823

1703830293618

post

在未登录界面的,账号密码登录界面测试xss,发现没有弹窗。进行字典爆破登录,登陆后,测试xss。<script>alert(document.cookie)</script>

1703832786441

1703834728009

储存型xss

界面是一个输入框,直接测xss <script>alert(document.cookie)</script>

1703834749121

DOM型xss

DOM(文档对象模型),是HTML和XML文档的程序接口DOM是一个前端的接口,没有和后端有任何交互。

“’”符号可以可以让href=’的符号提前闭和,后面的文本会被一个url指向,点击这个链接会直接执行function domxss()函数,输入的代码会被执行。’><img src="#" onmouseover="alert('xss')">

执行代码后,会生成一个图像文件 将鼠标放在上面可以直接弹窗。

' onclick-"alert('xss')")"> 代码执行后点击what do you see? 会弹出弹窗。

1703839475001

1703839910509

DOM型xss-x

初始界面随便输入数据无法定位输入的位置,点击有些费尽心机想要忘记的事情,后来真的就忘掉,会弹出一个新的界面,这个时候进行输入就可以定位输入的内容。

1703847788561

输入payload ' onclick="alert(1)">

1703848017104

xss之盲打

两个测试框都输入payload进行测试(<script>alert(1)</script>),在登录后台时出现了弹窗。

1703848718083

1703848593416

xss之过滤

尝试进行xss攻击 输入 <script>alert(1)<script> javascript:alert(1) 出现报错 > javascript:alert() 被过滤。

对大小写进行变换 <SCRIPT>alert(1)</SCRIPT>发现绕过了检测。

1703850815792

xss之htmlspecialchars

1703851067707

设计payload <script>alert(1)</script>很多符号会被过滤,所以使用 javascript:alert(1)

1703852576908

xss之href输出

href属性的值可以是任何有效文档的相对或绝对URL,包括片段标识符和 JavaScript 代码段。如果用户选择了 <a>标签中的内容,那么浏览器会尝试检索并显示 href 属性指定的 URL 所表示的文档,或者执行 JavaScript 表达式、方法和函数的列表;也就是说可以直接输入javascript代码段执行。

payload设置为 javascript:alert(1)

xss之js输出

1703855470620

1703855500298

输入的内容被输入到了$ms变量中,需要提前制造闭合,输入 '</script>将代码提前闭合,输入 <script>alert(1)</script>执行xss攻击。

CSRF

get

1703856488388

抓包获取修改个人信息链接/vul/csrf/csrfget/csrf_get_edit.php?sex=1&phonenum=1&add=1&email=hacker%40qq.com&submit=submit

其他用户进行访问这个链接,就会被修改为kobe用户的信息。

1703856667458

1703856688832

post

17038567246271703856778405

1703856854011

需要使用CSRFTester进行网页制作,制作表单进行攻击(post传参不能通过url进行传参需要制作表单进行操作).

Token

1703858440145

存在token对CSRF攻击防御,每一次对表单进行访问都会分发一个随机的token,所以不能通过这个进行攻击。

SQL-Inject

RCE

File Inclusion

Unsafe Fileupdown

Unsafe Fileupload

Over Permission

../../

敏感信息泄露

PHP反序列化

XXE

URL重定向

SS