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) - 夜雨的安全笔记​​​​​​​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/160938.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jmeter只能做性能测试吗?

Jmeter除了可以性能测试&#xff0c;还能做接口测试 1、Jmeter和Fiddler&#xff0c;Postman有什么区别? Fiddler&#xff1a;虽然有接口测试功能&#xff0c;很少用来做接口测试。 一般用Fiddle来做抓包和异常测试&#xff0c;辅助接口测试。Postman&#xff1a; 是接口调试…

QML 仪表盘小示例

本次项目已发布在CSDN->GitCode,下载方便,安全,可在我主页进行下载即可,后面的项目和素材都会发布这个平台。 个人主页:https://gitcode.com/user/m0_45463480怎么下载:在项目中点击克隆,windows:zip linux:tar.gz tar # .pro TEMPLATE = appTARGET = dialcontrol​#…

【MySQL】MVCC机制(undo log,read view)

文章目录 前言一. 预备知识二. 模拟MVCC三. Read View四. RC与RR的本质区别结束语 前言 MVCC&#xff08;多版本并发控制&#xff09;是一种用来解决读-写冲突的无锁并发控制 MVCC为事务分配单向增长的事务ID&#xff0c;为每个修改保存一个版本&#xff0c;版本与事物ID相关联…

【PyTorch实战演练】AlexNet网络模型构建并使用Cifar10数据集进行批量训练(附代码)

目录 0. 前言 1. Cifar10数据集 2. AlexNet网络模型 2.1 AlexNet的网络结构 2.2 激活函数ReLu 2.3 Dropout方法 2.4 数据增强 3. 使用GPU加速进行批量训练 4. 网络模型构建 5. 训练过程 6. 完整代码 0. 前言 按照国际惯例&#xff0c;首先声明&#xff1a;本文只是我…

Gradle中的依赖Dependencies说明与使用总结

【1】依赖的方式 Gradle 中的依赖分别为直接依赖&#xff0c;项目依赖&#xff0c;本地jar 依赖。 dependencies {//①.依赖当前项目下的某个模块[子工程]implementation project(:subject01)//②.直接依赖本地的某个jar文件implementation files(libs/foo.jar, libs/bar.jar…

delphi 监测某音新增评论以及解决x-bogus签名验证(2023-11-5)

一、工作原理及流程&#xff1a; 1、从aweme接口取得aweme评论总数量&#xff1b; 2、与之前的数量比较&#xff0c;如果有新增评论&#xff1b; 3、从comment评论接口统计评论以及评论回复数量&#xff0c;得出新增评论数量&#xff1b; 4、按时间排序评论&#x…

linux环境下编译,安卓平台使用的luajit库

一、下载luajit源码 1、linux下直接下载&#xff1a; a、使用curl下载&#xff1a;https://luajit.org/download/LuaJIT-2.1.0-beta3.tar.gz b、git下载地址&#xff1b;https://github.com/LuaJIT/LuaJIT.git 2、Windows下载好zip文件&#xff0c;下载地址&#xff1a;https…

【python 深拷贝与浅拷贝】

python 深拷贝与浅拷贝 问题&#xff1a; 在用影刀编写流程的时候发现&#xff0c;明明只修改人名为“小张”对应的字典里面的值&#xff0c;但是所有的人名对应的值都被修改了。 原因&#xff1a; 第14行&#xff0c;设置键值对&#xff0c;值对应的变量“初始打卡类型字…

MySQL---搜索引擎

MySQL的存储引擎是什么 MySQL当中数据用各种不同的技术存储在文件中&#xff0c;每一种技术都使用不同的存储机制&#xff0c;索引技巧 锁定水平&#xff0c;以及最终提供的不同的功能和能力&#xff0c;这些就是我们说的存储引擎。 MySQL存储引擎的功能 1.MySQL将数据存储在文…

axios 实现请求重试

前景提要&#xff1a; ts 简易封装 axios&#xff0c;统一 API 实现在 config 中配置开关拦截器 请求重试的核心是可以重放请求&#xff0c;具体实现就是在 axios 中&#xff0c;拿到当前请求的 config 对象&#xff0c;再用 axios 实例&#xff0c;就能重放请求。 在无感刷新…

k8s中实现mysql主备

文章目录 一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.1 安装nfs1.2.2 部署nfs-provisioner 1.3 安装mysql1.4 备库上查看是否同步 一、k8s中实现mysql主备 1.1 环境信息 机器操作系统ipmysql版本k8s版本storageClassmaster1CentOS7.8192.168.0.20mysql5.…

【移远QuecPython】EC800M物联网开发板调用网络API(使用SIM卡联网并调用高德地图API的定位坐标转换)

【移远QuecPython】EC800M物联网开发板调用网络API&#xff08;使用SIM卡联网并调用高德地图API的定位坐标转换&#xff09; 高德API使用方法&#xff1a; 文章目录 API相关配置SIM卡联网网络操作API调用 高德地图API产品介绍适用场景使用限制使用说明坐标转换 附录&#xff…