目录
Authentication 0x01通关记录
暴力破解:
暴力破解有几种情况,用户名和密码都不知道,只知道用户名,对于这几种的情况,破解都是一样的,你需要一个密码本,简单来说你的密码本里有目标密码,那你就能破解成功,如果没有就破解不了。
先来看第一关,给出目标账户后什么都没了,第一反应是暴力破解
用户名输入jeremy,密码随便输入,用BurpSuite进行拦截。
添加密码为锚点
导入密码本进行爆破。
按照升序排列找到特殊的那个就是密码,发现letmein是密码。
Authentication 0x02通关记录
试验上一次的用户名和密码
显示错误
有一个你的证书
把前面的当成用户名后面的是密码输入进去
出现MFA代码这个的意思是多重身份验证,点击上面的found here
出现MFA代码
我们想更改用户名改成jeremy,发现前端做了限制,我们尝试用BP进行拦截更改,
我们猜测每个用户都可以使用MFA代码进行登录
更改用户名为jeremy
放行后,显示登陆成功。用户为:jeremy
Authentication 0x03通关记录
首先我们用普通的验证码跳过,用BP抓包发现这个不是简单的验证码跳过,不跟皮卡丘上面的一样。所以我们的思路就是先爆破验证码,在对用户名,密码,验证码进行组合。
爆破验证码:
首先需要我们下载BP的一个插件captcha-killer-modified具体步骤如下,
https://github.com/f0ng/captcha-killer-modified/releases/tag/0.16 去GitHub上下载插件,你电脑的用的JDK是几就下载哪个版本的。
添加完成后就可以正常使用了。
添加完成后我们还需要在一个验证码破解网站注册一个账号。图片识别-广告识别-目标检测-准快信息技术有限公司 (ttshitu.com)
注册,完成之后进行充值1元大概可以破解几百次,充值后不需要购买其他东西就可以正常使用了。
首先我们先抓取验证码,在BP抓取界面右击选择下面选项。
接口URL:http://api.ttshitu.com:80
Requst template的那一栏填写下面的内容,最后一行的账号和密码,填写上面破解验证码网站的账号和密码。
POST /base64 HTTP/1.1
Host: api.ttshitu.com
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;
q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: Hm_lvt_d92eb5418ecf5150abbfe0e505020254=1585994993,1586144399; SESSION=5ebf9c31-a424-44f8-8188-62ca56de7bdf; Hm_lpvt_d92eb5418ecf5150abbfe0e505020254=1586146123
Connection: close
Content-Type: application/json; charset=UTF-8
Content-Length: 2658
{"username":"ququ","password":"Qwer12345","typeid":"1","image":"<@BASE64><@IMG_RAW></@IMG_RAW></@BASE64>"}
选择完方式后就点击识别,就会出现右边的一串。
之后选中你的验证码,右击选择“标记为识别结果”
点击匹配即可,就已经破解了。
之后把验证码的包放掉,重新抓包,破解账号,密码就可以了。
第一个,第二个锚点,按照自己的实际情况填写。可能会不一样。
我们看到已经是登陆成功了。
IDOR通关记录
看到类型是user我们可以激灵一下想到admin类型
用HackBar对url里的account=1009进行抓包更改
查看页面渲染,类型为admin的用户
我们发现代号为1008的用户是admin
文件包含 0x01
文件包含漏洞:
程序在引用文件的时,引用的文件名,用户可控的情况,传入的文件名没有经过合理的校验或校验不严,从而操作了预想之外的文件,就有可能导致文件泄漏和恶意的代码注入。
随便选择一个食谱,可以看到file协议。
我在D盘下创建了一个1.txt
可以通过这个页面访问到1.txt
文件包含0x02
在url里输入百度的网址,可以直接访问百度就证明该地存在文件包含漏洞
文件包含 0x03 [挑战]
我们选择一个查看,页面并没有发生什么变化说明,请求信息在其他地方,我们尝试用BP抓包看看。
发现在这里。我们修改数值继续查看其他目录
输入../1.txt直接弹出说失败说明此页面进行了安全防护。我们尝试其他方法。
利用分隔符变种成功读取到D盘的1.txt文件。
做完我们查看文件的源码
这个网页对页面进行了一定的过滤。
function sanitizeInput($input):
这段代码定义了一个名为 sanitizeInput 的函数,用于清理用户输入的文件名。
$patterns 数组中包含两个正则表达式:'/\.\.\//' 和 '/http/'。
'/\.\.\//' 用于匹配文件路径中的上一级目录引用(../),以防止用户通过路径遍历访问不安全的文件。
'/http/' 用于匹配输入中可能包含的 http 字符串,避免用户试图读取远程资源。
preg_replace 函数使用这些正则表达式将不安全的字符移除,返回处理后的文件名。
我们也可以把”../”è” %2e%2e%2f”url编码展示出来达到绕过的目的,或是使用多重编码或替换字符。
Sql注入 0x01
用BP抓包进行修改,这里没有在url上显示,在BP上操作方便。
首先我们需要测试sql语句的符号是’ or “ or ‘) or “)
由此我们可以看出来数据库的符号拼接用的是单引号’
之后看是字符型还是数字型
在我们输入的字段数远大于实际时他报错就证明是数字型
由此我们可以判断列数有三列。
输入:jeremy' union select 1,2,database() --+
输入:jeremy' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() --+
Sql注入 0x03
输入四,查看列数
输入五,查看列数
说明一共有四列数据。
查看回显位
是二号位。
把二号位输入数据库的名字回显出来
注入 0x04
我们需要获取jeremy的用户信息但是我们不知道密码,下面有一个注册,我们尝试一下,注册。
发现他没有对用户名进行限定,而后我们进行登录。
已经读取到我们想要的内容了。
XSS 0x01
简述:XSS攻击,即跨站脚本攻击,是一种网络安全威胁。为了避免与层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,因此将跨站脚本攻击缩写为XSS。此类攻击通过在Web页面中插入恶意的脚本代码,用户在访问该页面时,这些嵌入的脚本代码会被执行,从而对用户进行恶意操作。XSS攻击主要是针对用户层面的一种攻击手段。
XSS漏洞个人理解就是前端代码写的时候没有进行筛选,使得用户输入的话成为了前端执行的代码。要是想利用号XSS漏洞还是需要进行的JS的代码学习,起码要能看懂JS,然后会基础的代码编码。
输入:<img src=x οnerrοr=alert("喜欢喝粥");>
由于“x”不是有效的图片 URL,浏览器会触发错误。代码会触发一个弹出窗口
XSS 0x02
存储型xss
输入:<script>alert('喜欢喝粥')</script>
XSS 0x03
姓名随便填
故障出填:<script>alert('喜欢喝粥')</script>
登录管理员界面,在url出输入:../labs/x0x03_admin.php
管理员的界面就会出现以下的弹窗。
命令注入 0x01
XXE 0x01
XXE是外部实体注入漏洞,用户通过输入XML实体内容,编写代码时有没有进行过滤,导致的漏洞。
**XXE(**XML External Entity Injection**)**也就是XML外部实体注入,XXE漏洞发生在应用程序解析XML输入时,XML文件的解析依赖libxml 库,而 libxml2.9 以前的版本默认支持并开启了对外部实体的引用,服务端解析用户提交的XML文件时,未对XML文件引用的外部实体(含外部一般实体和外部参数实体)做合适的处理,并且实体的URL支持 file:// 和 ftp:// 等协议,导致可加载恶意外部文件 和 代码,造成**任意文件读取**、**命令执行**、**内网端口扫描**、**攻击内网网站**、**发起Dos攻击**等危害。
编写一个xml文件用BP抓包
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE creds [
<!ELEMENT creds ANY >
<!ENTITY xxe SYSTEM "file:///D:/1.txt" >]>
<creds><user>&xxe;</user><password>pass</password></creds>
个人修改想要读取的文件目标
SSRF 0x01
SSRF是服务器端请求伪造漏洞。SSRF 的形成大多是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。攻击者利用服务器的安全认证,入侵目标地址。他与CSRF有一定的区别。CSRF是从用户角度向服务器发送一些请求。在网站登陆后会保存用户的曲奇,此时用户点击了黑客写的不明网站,就会向服务器执行操作。
点击价格后用BP进行抓包
这个1.txt是我之前在D盘建立的
SSRF 0x02
要想做这道题我们需要了解下面的只是补充。
DNSlog 是一种 DNS 隧道技术,用于数据泄露或命令和控制(C2)通信。它利用 DNS 协议的特性,将数据编码为 DNS 查询或响应,从而实现数据通信。DNSlog 可用于检测子域取代、未授权区域传输和其他 DNS 相关漏洞。
Burp Collaborator
Burp Collaborator 是 Burp Suite 中的一个插件,可用于执行 DNSlog 测试。它允许您将 Burp Suite 与 DNSLog 平台集成,以便在进行渗透测试时执行 DNSlog 测试。
以下是如何使用 Burp Collaborator 执行 DNSlog 测试:
配置 Burp Collaborator:首先,您需要在 Burp Suite 中配置 Burp Collaborator。在 Burp Suite 的“项目选项”中,找到“Collaborator”选项卡,然后输入 DNSLog 平台的 URL。
生成诱饵:在 Burp Suite 中,导航到“Collaborator”选项卡,然后点击“生成诱饵”按钮。这将生成一个唯一的子域名,您可以将其用作 DNSlog 测试的一部分。
执行 DNSlog 测试:在进行渗透测试时,将生成的子域名插入到 DNS 查询中。然后,Burp Collaborator 会捕获 DNS 响应,并将其显示在 Burp Suite 中。
分析结果:在 Burp Suite 中,导航到“Collaborator”选项卡,然后点击“事件”选项卡。这将显示所有捕获的 DNS 响应,您可以使用这些信息来确定 DNS 服务器的配置和潜在漏洞。
其他的细节可以去这个博主的文章查看。建议查看,细品他这个还可以和其他漏洞共同使用。
原文链接:https://blog.csdn.net/2401_84973011/article/details/138750704
首先需要跟大家说的是这个网站只能探测出是否有SSRF漏洞,而不能利用之。盲注。
首先我们用BP抓包后,发送到Repeater,再点击Collaborator模块,(如果没有的话是因为BP版本过低。)
这里生成一个Payloads就可以了,点击复制。
把复制的内容到url里
点击发送否立刻回到Collaborator模块里,点击Poll now
出现这个结果就证明存在SSRF漏洞。
文件上传 0x01
文件上传漏洞是指用户上传了一个可执行的脚本文件(php、jsp、xml、cer等文件),而WEB系统没有进行检测或逻辑做的不够安全。
文件上传功能本身没有问题,问题在于上传后如何处理及解释文件。
一般情况下,Web应用都会允许用户上传一些文件,如头像、附件等信息,如果Web应用没有对用户上传的文件进行有效的检查过滤,那么恶意用户就会上传一句话木马等Webshell,从而达到控制Web网站的目的。
存在文件上传功能的地方都有可能存在文件上传漏洞,比如相册、头像上传,视频、照片分享。论坛发帖和邮箱等可以上传附件的地方也是上传漏阔的高危地带,另外像文件管理器这样的功能也有可能被攻击者所利用。
这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。
我们写一个一句话木马
发现他只接受图片,我们对一句话木马改个名字
===》
这样就可以了,此时用BP进行抓包,修改后缀名
用蚁剑连接
文件上传 0x02
与文件上传的第五关可以一样
文件上传 0x03
与文件上传的第五关可以一样。
文件上传 0x04
与文件上传0x01一样处理。
文件上传 0x05
首先我们需要知道htaccess 文件的作用,首先我们需要配置一个.htaccess文件,
这个意思是说把.png 的文件在读取的时候按照php文件读取。
AddType application/x-httpd-php .png
上传完成后,我们需要找一个图片木马。
在一句话木马和图片的文件夹下面打开控制台。
输入:copy 12.png/b+1.php/a 123.png
用Notepad++打开拉到最后可以看到。
先上传.htaccess文件,在上传123.png,然后用蚁剑连接即可。
文件上传 0x06
先观察上面的解释是我们做题的关键。
我们随便上传一个一句话木马。发现文件类型不同。
用BP抓包,看一下拦截的信息。
我们更改一下接收类型为:image/png等其他的合法类型都可以
之后放行就可以了。放行后文件就下载到对应的文件夹了。
用蚁剑连接就可以了。
文件上传 0x07
我们继续用第六关的方法发现他无法上传。
在看一下文章的内容,文件标志放在开头,所以我们试想把一句话木马放在,文章图片的后面,有可能他只对文章开头的内容做了限制。
用BP抓包修改,http的类型为合法类型。
放行后发现文件成功上传。用蚁剑连接即可
文件上传 0x08
先看图片上的代码,第二行把上述的黑名单替换为空,是一种危险操作。我们可以使用嵌套的方式绕过。
经过测试我们发现,并没有图片这种限制。
两个地方进行修改类型和后缀绕过。
如图显示上传成功,使用蚁剑连接即可。
文件上传 0x09
Str_replace是有缺陷的如果书写的后台机器是Windows他是不会区分大小写的,而Linux是区分大小写的。我们可以利用这个漏洞成功上传。
用BP抓包后进行修改数据。
把木马文件的后缀变成phP,类型变为php文本。
上传成功后就可以用蚁剑连接了。
文件上传 0x012
通过图片发现,默认情况下 Apache 把 phtml、pht、php、php3、php4、php5 解析为 PHP:
我们用BP抓包发现一些特殊后缀可以通过。
文件上传 0x013
当 $img_path 可控的时候,还会忽略掉 $img_path 后面的 /.
我们找一个文件夹放入一个木马php文件放一个png文件
点击上传就可以了。
文件上传 0x014
查看提示我们可以看到三种方法。
这里选择第一种方法:GIF的简单易操作。
首先我们找到一张GIF图片,上传到后台
再将图片保存下来进行对比,看看经过网页的渲染哪些区块没有被改变。
用101打开选项,工具,里的比较选择上传前的和上传后的,
灰色的是相同的我们可以把我们的一句话木马放在这里,因为他不会改变。
再次上传植入过一句话木马的gif,用蚁剑连接即可。
文件上传 0x015
文章的这句话就是漏洞所在:move_uploaded_file($temp_file, $img_path)
当 $img_path 可控的时候,还会忽略掉 $img_path 后面的 /.
所以我们只需要在填写名称的时候加上/.就会绕过。
用蚁剑连接文件所在位置即可。
CSRF 0x01
攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并执行一些操作(如发邮件,发消息,甚至财产操作如转账和购买商品)。由于浏览器曾经认证过,所以被访问的网站会认为是真正的用户操作而去执行。这利用了 web 中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。
首先我们登录Jeremy的账号
用BP进行抓包
修改cookie的用户为jessamy
查看渲染图用户更改了,邮箱也进行了更改。
CSRF 0x02
与0x01相同在修改时进行抓包
修改cookie的值就该改变用户了
输入验证 0x01
没有过滤:<script>alert('lee')</script>
过滤脚本:<img src="x" οnerrοr="alert('lee')">
转义HTML:
过滤自定义:<img src="x" οnerrοr="alert(‘lee’)>
使用正则表达式的过滤:<img src="x" οnerrοr="alert(‘lee’)>
支付漏洞 0x01
打开网站,用BP拦截,修改价位。
把这个位置的100修改成1过着更低。
复制这个地址用浏览器打开
http://127.0.0.1/labs/cross_per_pay/corss_permission_pay.php?price=1
越权修改密码 0x01
登录第一个账户,修改第二个账户的密码。
登陆完成后,在HackBar中修改id跳转到id=2.
在旧密码中输入aaaaa的密码
提交完成
aaaaa的用户已经修改
越权查看admin 0x01
登录admin后修改url里的信息id更改为2
已经切换到aaaaa用户了。
还有部分,因其他原因,无法做,后续会补充。