burp靶场漏洞实战wp
之前一直在做各种题库中的题目,偶然得知burp靶场的实验不错,故作次wp,将持续跟进解题进度
一、sql注入
1.实验:WHERE条款中允许检索隐藏数据的SQL注入漏洞
开头一个个看过去,没什么特别的。仔细看发现在Refine your search:
下面点进去url会变为
1 | https://0ade00b5041780e7808e120800720083.web-security-academy.net/filter?category=Tech+gifts |
看起来存在SQL注入。
改成
1 | https://0ade00b5041780e7808e120800720083.web-security-academy.net/filter?category=1' or 1=1--+ |
直接过了emmmmmm
2.实验:允许登录绕过的SQL注入漏洞
题目描述:该实验室的登录功能中存在SQL注入漏洞。
要解决实验室问题,可以执行SQL注入攻击,以用户身份登录应用。administrator
直接万能语句1’ or 1=1–+ 秒了
3.实验:SQL注入UNION攻击,确定查询返回的列数
题目看出来是联合注入,
这里已经很熟悉了,直接非常顺利
1’ order by 3–+通过
1’ order by 4–+报错,知道三列
于是写payload,这里有一个问题当时错了:
我最开始写的payload是:
1 | https://0a9000cf04defb8b808a26d400ac0024.web-security-academy.net/filter?category=-1' union select 1,2,3--+ |
页面报错,当时不知道为什么啊,后来查阅资料才知道:因为 UNION 要求类型兼容。如果第一列是整数,你输入 '1' 可能会报错;而 NULL 可以自适应任何类型。所以这里用1,2,3是错误的QAQ
修改payload得到:
1 | https://0a9000cf04defb8b808a26d400ac0024.web-security-academy.net/filter?category=-1' union select NULL ,NULL ,NULL--+ |
通过
二、文件上传漏洞
1.实验室:通过网页壳上传远程代码执行
题目描述:
该实验室包含一个易受攻击的图像上传功能。它不会在用户上传的文件存储到服务器文件系统前进行任何验证。
要解决实验问题,上传一个基础的PHP网页壳,并用它导出文件内容。请通过实验室横幅中的按钮提交此秘密。/home/carlos/secret
您可以使用以下凭证登录您自己的账户:wiener:peter
ps:骗你的,刚开始我甚至不知道这是题目描述()
打开来就开始找上传点,然后在评论区找到了上传头像的位置,出于以往经验,我直接尝试上传,却得到missing parameter,多次尝试无果后我转变方向,发现没有login(),这才知道wiener:peter原来是题目里的()气笑了说是
题目提示:如果你能成功上传网页外壳,你实际上就完全控制了服务器。这意味着你可以读写任意文件,窃取敏感数据,甚至利用服务器来针对内部基础设施和网络外其他服务器发动攻击。例如,以下PHP一行代码可用于从服务器文件系统读取任意文件:
1 | <?php echo file_get_contents('/path/to/target/file'); ?> |
上传后,发送对该恶意文件的请求将在响应中返回目标文件的内容。
然后就写一句话木马:
1 | <?php echo file_get_contents('/home/carlos/secret'); ?> |
上传成功后,查看上传路径,木马便会自动执行,
1 | GET /files/avatars/1.php HTTP/2 |
得到目标:
Rnh4NwyW1Gl2Ko3yWlVT2eFgyKRH9Hcd
三、跨站脚本
1.实验:将XSS映射到HTML上下文中,且没有编码
最简单的xss,
直接<script>alert()</script>就行。
2.DOM XSS 在 sack 中使用源代码document.write``location.search
理解DOM漏洞原理
- 源 (Source):
location.search,这是浏览器地址栏中?后面的部分(也就是 GET 参数)。攻击者可以完全控制这部分。 - 汇 (Sink):
document.write。这个函数会将传入的字符串直接解析为 HTML 写入页面。如果传入的数据包含<script>标签,它通常不会执行(这是很多人的误区)。 - 关键点:在
document.write的上下文中,最可靠的 XSS 触发方式不是<script>alert(1)</script>,而是HTML 事件处理器,例如<img src=x onerror=alert(1)>。
DOM型xss最常见的来源是url,故我们可以尝试一下,在搜索栏里随便输入发现url变成
1 | https://0a360098047f989f80da125100e00067.web-security-academy.net/?search=1 |
payload如下:
1 | "><img src=x onerror=alert(666)> |
其实本实验的核心还是在于闭合前面语句上面。
3.DOM XSS in innerHTML sink using source location.search
比2还简单,直接
1 | <img src=x onerror=alert()> |
即可。
这里简单说说原理,
<img:这是一个标准的 HTML 图片标签的开始。浏览器看到它,就会准备去加载一张图片。src=x:这是图片的源地址属性。我们故意给它一个不存在的、无效的地址x。onerror=alert(1):这是一个事件处理器。onerror是<img>标签的一个内置事件,它的触发条件是:当浏览器加载src指定的图片资源失败时。
因此会触发xss
4.实验:jQuery 锚属性汇入 DOM XSS 使用源代码href``location.search
本实验室在提交反馈页面中包含一个基于DOM的跨站脚本漏洞。它使用 jQuery 库的选择函数来寻找锚点元素,并利用 的数据更改其属性。$``href``location.search
要解决这个实验,可以设置“回溯”链接提醒。document.cookie
Leave a comment