根据时延的盲道研讨:受限环境下的内容回传信道

访客5年前黑客资讯772

在一次缝隙赏金活动中,挖到个指令注入的洞,我先以时延作为证明向厂商提交该缝隙,厂商以国内 *** 环境差为由(确实得翻墙)拒收,几回交流,奉告若我能取回指定文件 secret.txt 才认可。方针是个受限环境:制止出口流量、NAT 映射至公网、无页面回显、无法猜想 web 目录,换言之,没有出口流量无法反弹 shell、NAT 阻隔也就不能树立正向 shell、页面无输出想看到指令成果不可能、找不到 web 目即使成功创立 webshell 没有容器能解析。我怎么才干检查 secret.txt,顺畅拿到赏金呢?(嗯,金额是灵敏信息嘛 5C7ZR2FOWDS35FZANBQXEZDTMVSWIIHFSCL67PE74W7IRZN7VPS25A7FWCDOLJEN422LX354QEFA====)
0×00 浅入深出
讨论技术问题,我习气拿我们都能拜访得到的环境作为比如,这样,一方面,你能通过操作来验证我的主意是否正确,另一方面,实践也能触发你对同个问题的不同考虑。因为保密协议的原因,我无法对前面说到的实在事例作更多的细节描述,十分困难找到了一个环境相似的 wargame,与你共享。
http://natas9.natas.labs.overthewire.org,账号 natas9:W0mMhUcRRnG8dcghE4qvk3JA9lGt8nDl,供给源码,你得主意检查 /etc/natas_webpass/natas10 的内容:

指令注入,我习气上先摸清服务端有哪些约束条件,是否约束内容长度、是否过滤特别字符、是否过滤体系指令、白名单仍是黑名单、是否要闭合单/双引号、操作体系类别,这些信息关于结构载荷至关重要。页面右下角给出了源码,难度降低了不少,但摸清约束条件,是你在其他黑盒测验场景中值得优先考虑的。ok,现在检查源码:

从代码可知,服务端未作任何歹意输入检查,直接将输入 $key 作为 grep -i $key dictionary.txt 的指令行参数传递给 passthru() 函数履行体系指令。
明显,未过滤最基本的指令替换符 $(),那么,提交 $(sleep 4),若应对推迟 4s 则可承认缝隙存在。(封闭进犯端 *** 带宽占用高的使用,防止影响成果)我先提交一般字符串 xxxx,应对为:

页面无实践内容输出,耗时约 0.3s。接下来提交 xxxx%24%28sleep+4%29,应对如下:

耗时约 4.3s,那么,可承认该接口存在指令注入缝隙。其间,两点留意:一是,载荷直接写在 burp 阻拦的数据包中,没有通过浏览器 URL 编码,所以你得手动将字母和数字之外的字符按 URL 编码(burp 的 decoder 模块);二是,进犯载荷尽量包括从前相同的一般字符串,防止引起计时差错。
要使用缝隙获取 /etc/natas_webpass/natas10 内容,当时的代码环境为 grep -i $key dictionary.txt,首要出现的思路是,注入指令分隔符以完毕 grep -i,注入检查 natas10 内容的指令,注释掉余下的 dictionary.txt,这样,原始指令行被分隔成语法正确的三部份。指令分隔符用 ;,注释符号用 #。所以,结构如下载荷(黄色高亮)作为参数 key 的输入:

提交后可成功检查 natas10 内容 nOpp1igQAkUzaI1GUUjzn1bFVj7xCNzu:

恰当添加难度,假定服务端过滤了一切指令分隔符(;|& 以及回车符),能否打破?简略考虑后想到一种 *** ,代码环境中有 grep,它只需匹配上一个字符即可输出该字符所内行,那么,找个存在于 flag 中的恣意字符,grep 就能输出完好的 flag。所以,结构如下载荷:

碰碰命运,看下 a 是否在 flag 中:

命运不错,相同成功拿到 flag。
再添加下难度,如果无页面回显,还有 *** 拿到 flag 么?
0×01 老姿态玩不转
针对无页面回显的场景,我常用获取内容的 *** 有如下几种:之一种,写入或下载 webshell;第二种,用 nc、bash、python 或其他脚本语言反弹 shell;第三种,用 curl、wget 拜访我自己的 VPS,将内容放入 URL 的途径中,检查 *** 拜访日志即可获取内容,这也是你喜欢的盲注。
之一种,写 webshell。先用 touch foo 承认 web 目录有无写权限:

检查文件列表:

[1] [2] [3] [4]  黑客接单网

相关文章

利用PHP解析字符串函数parse_str的特性来绕过IDS、IPS和WAF-黑客接单平台

众所周知,PHP将查询字符串(在URL或正文中)转换为$_GET或$_POST中的相关数组。例如:/ ?foo=bar被转换为Array([foo] => "bar")。查询字符串解析进程运用下...

EMV体系的安全性评价

电子商务、移动付出的遍及,顾客越来越少随身携带现金,人们玩笑道“小偷都快赋闲了”。但在互联网上,靠偷盗用户电子账户资金、虚拟财物的“网络小偷”却非常猖狂。 各种途径走漏的个人信息被加工、转卖,并用于电...

钓鱼攻击姿势老套,不明真相还是上当-黑客接单平台

近来,深服气安全团队捕获到一同高度个性化的垂钓进犯事情,进犯者针对用户企业假造了多份带有专业内容的进犯文档,经过邮件发送到方针邮箱,妄图诱导用户翻开附件中的文档。 经安全专家剖析,该文档其实为带有缝隙...

怎么使用神经网络和Python生成指定形式的暗码

今日给咱们介绍的是Github上一个名叫PyMLProjects的项目,这个项意图意图是为了练习AI来学习人类结构暗码的形式,然后咱们就可以用AI来生成许多同一形式或品种的暗码了。这种办法或许可以用...

技能共享:几种常见的JavaScript混杂和反混杂东西剖析实战

信息安全常被描述成一场军备竞赛,白帽与黑帽,浸透测验者与黑客,善与恶,本文将聚集这场永无止境决战中的一个小点。 HTML5 & JS 运用中充满着对输入进行验证/注入的问题,需求开发人员一直...

ASIS CTF - 三个魔法Web关WriteUp

榜首眼看这个应战,通常是过滤一些字符或许添加一些约束来阻挠指令履行,我经过输入&id到addr域,成功回来履行成果,能够确认这是一道指令履行的应战题。 下一步咱们来找出过滤和约束。经过测验,咱...