Pikachu(一)

暴力破解

Burte Force(暴力破解)概述

“暴力破解”是一攻击手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。 为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。

理论上来说,大多数系统都是可以被暴力破解的,只要攻击者有足够强大的计算能力和时间,所以断定一个系统是否存在暴力破解漏洞,其条件也不是绝对的。 我们说一个web应用系统存在暴力破解漏洞,一般是指该web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高。 这里的认证安全策略, 包括:

1.是否要求用户设置复杂的密码;
2.是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)或者手机otp;
3.是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等);
4.是否采用了双因素认证;
...等等。
千万不要小看暴力破解漏洞,往往这种简单粗暴的攻击方式带来的效果是超出预期的!

你可以通过“BurteForce”对应的测试栏目,来进一步的了解该漏洞。

从来没有哪个时代的黑客像今天一样热衷于猜解密码 ---奥斯特洛夫斯基

基于表单的暴力破解

使用burp抓包

右键,发送至Intruder模块

Attack type:选择Cilster bomb 

将用户名和密码Add为变量

payload 1:加载用户名字典   #字典可自行搜索下载

也可以Add手动添加

payload 2:加载密码字典

点击start attack

最后根据长度,得出账号密码

验证码绕过(on server)

填写表单及正确的验证码后提交并抓包,将数据包发送到Repeater模块,多次发包发现只提示username or password is not exists,而不提示验证码出错,得知验证码可以重复利用。因此只需要手动填写正确的验证码即可爆破

手动填写一次表单,需要输入正确的验证码,账号密码可任意

用户名和密码爆破,参考:基于表单的暴力破解

验证码绕过(on client)

输入正确的验证码,用户名和密码任意,抓包

可以看到验证码为空,回显提示用户名或密码不存在,证明验证码只在本地校验

下一步直接爆破用户名和密码。具体步骤参考:基于表单的暴力破解

token防爆破

Token在计算机身份认证中是令牌(临时)的意思,在词法分析中是标记的意思。一般作为邀请、登录系统使用。  --百度

输入用户名和任意密码,burp抓包

将请求发送至Intruder,
Attack type:设置为Cluster bomb

把password和token设置为变量

点击options找到Grep-Extract,点击Add

点击 Fetch response(获取响应)

Refetch response(重新获取响应)

复制token值备用,点击OK

93366653de18202357884767598

找到Request Engine

Number of threads:设置为 1

找到Redirections(重定向)

设置为:Always

设置payload 1 ,添加密码字典

设置payload 2 ,Payload type:选择Recursive grep

输入token

根据长度不同,得出密码:123456

登录成功

Cross-Site Scripting(CSS)

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”对应的测试栏目,来进一步的了解该漏洞。

反射型xss(get)

反射型XXS是一种非持久性的攻击,它指的是恶意攻击者往Web页面里插入恶意代码,当用户浏览该页时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的目的。这里插入的恶意代码并没有保存在目标网站,需要引诱用户点击一个链接到目标网站的恶意链接来实施攻击。

先点击submit

按照提示输入:kobe

地址栏显示,请求方式为GET

绕过方式一:浏览器地址栏

因为输入的Payload会在地址栏显示,而地址栏是没有长度限制的
所以可以之间在地址栏插入Payload

<script>alert("123")</script>

绕过方式二:修改html代码

将maxlength修改为:100

<script>alert("321")</script>

反射性xss(post)

根据提示登录

尝试输入

<script>alert("dd")</script>

#对输入内容没有长度限制

再输入:

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

存储型xss

存储型xss 顾名思义就是恶意脚本会同正常信息一起被存到数据库或者文件中,等到用户在访问这个页面时就会成为受害者,这种漏洞常见于论坛、博客以及留言板。

<img src=1 οnerrοr=alert(1) >

复制链接,新建页面打开,出现弹框,证明存储型XSS可以影响每一个访问此页面的用户

DOM型xss

什么是DOM:

文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口。它是一种与平台和语言无关的应用程序接口(API),它可以动态地访问程序和脚本,更新其内容、结构和www文档的风格(HTMl和XML文档是通过说明部分定义的)。文档可以进一步被处理,处理的结果可以加入到当前的页面。DOM是一种基于树的API文档,它要求在处理过程中整个文档都表示在存储器中。另外一种简单的API是基于事件的SAX,它可以用于处理很大的XML文档,由于大,所以不适合全部放在存储器中处理。  --  百度

这里利用了DOM 将字符串进行了拼接并把值给a标签的href,然后输出一个what do you see?

构造payload:

><img src='#' οnmοuseοver="alert('xss')">

DOM型xss-x

这一关也是利用了DOM将字符串进行了拼接并把值给a标签的href

构造payload:

><img src='#' οnmοuseοver="alert('xss')">

#' οnclick="alert(111)">

' οnclick="alert('xss')">

#没有弹窗?

xss盲打

输入内容,没有回显

查看提示,可以登录后台

输入payload:

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

登录后台,发现弹窗

xss之过滤

输入:<script>alert("xss")</script>

发现网站做了过滤

大小写绕过:

<sCript>alert('xss')</scRIpt>

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

使用非<script>的其他标签:

<img src=1 οnerrοr='alert("xss")'>

XSS之htmlspecialcharss

htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。 

预定义的字符是:

&(和号) 成为&amp;

" (双引号) 成为 &quot;

' (单引号) 成为 &apos;

< (小于) 成为 &lt;

> (大于) 成为 &gt;

HTMLSpecialChars重要性:

如果不用HTMLSpecialChars,就会导致读取时,要把" <script>"之类的HTML标签“原本”的输出,而这一输出就有漏洞了,万一那个插入数据库的人是黑客,插入的不是一般的字符串,而是 “ <script> <b> <body>”等等之类的东西,读取后,就是一个HTML文档之类的东西,这样,他可以利用这个漏洞欺骗其他人,或者借这个漏洞攻击别人等等,搞个框架跳转到某一网站等等操作。

                                                                                                                                        -- 源自百度

payload:

' οnmοuseοver='javascript:alert(1)' 

xss之href输出

HTML小知识之src 和 href 的区别_src标签-CSDN博客

源码对双引号及单引号以及左右尖括号均会被转义,可以使用javascript伪协议来执行js

javascript: 这是一个伪协议,表示接下来的内容是 JavaScript 代码,可以在当前页面的上下文中执行。

alert(): JavaScript 函数,用于在浏览器中显示一个警告框,其中显示指定的消息。

document.cookie: 这是一个 JavaScript 表达式,用于获取当前页面的 Cookie 值。Cookie 是一种用于在客户端和服务器之间存储数据的机制,它可以用于标识和跟踪用户会话状态。

payload:

javascript:alert("/xss/")

显示当前页面cookie:

javascript:alert(document.cookie)

XSS之JS输出

javascript:alert("/xss/")

输入的攻击代码被发送到了最外面的<script>标签中了,并且没有被编码。

首先要用’:闭合掉当前的语句,然后插入新语句,最后再用//注释掉老语句遗留下来的’;

';alert(document.cookie);//

参考:

跨站脚本攻击(XSS)_xss跨站脚本攻击_来日可期x的博客-CSDN博客

 Pikachu靶场——XSS漏洞(Cross-Site Scripting)_来日可期x的博客-CSDN博客

pikachu靶场实战之XSS漏洞(2) - 夜雨的安全笔记​​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值