凌晨 3 点,我用 Shex “攻陷”了那个号称“绝对防御”的靶场

1 月 22 日
 vodmaker

倒计时还剩最后 15 分钟。

屏幕右下角的排名榜上,我的 ID 依然排在第二名。第一名是那个代号“Phantom”的家伙,比我快了整整 200 分。

这次 CTF (网络安全夺旗赛)的最终 Boss 是一个模拟的金融交易系统,号称部署了“绝对防御”的 WAF 规则。要拿到 flag ,必须构造一个极其复杂的 HTTP 请求,绕过层层检测,最后在服务器日志里注入特定的 Payload 。

我的手心里全是汗。

传统工具的困境

我知道漏洞在哪里。这是一个典型的 Log4j 变种注入点,藏在 HTTP Header 的 X-Api-Version 字段里。

但在实战中,知道原理和构造出 Payload 是两码事。

我必须构造一个 curl 命令:

  1. 发送 POST 请求。
  2. 添加 5 个特定的 Header 。
  3. 其中 User-Agent 必须伪装成 IE6 (见鬼的需求)。
  4. Payload 需要经过 Base64 编码后再进行 URL 编码。
  5. 还要设置超时和代理,防止被封 IP 。

我的手指在键盘上飞快敲击,试图拼凑出那串长达 300 字符的命令: curl -X POST -H "Content-Type: application/json" -H "X-Api-Version: ${jndi:ldap://..."

"该死!" 我低声咒骂。刚才手抖漏了一个转义符,终端直接报错。 与此同时,Phantom 似乎也卡住了,但我没有时间去查 curl 的 man page 手册了,每一秒的流逝都在消耗我的胜算。

召唤 Shex

我深吸一口气,切掉了满屏报错的终端窗口,打开了一个干净的 Shell 。 是时候祭出我的秘密武器了:Shex

这可不是什么黑客脚本,它是我的“第二大脑”——一个自然语言驱动的命令行 AI 助手。

我不再去纠结 curl-d 还是 --data-raw,也不去想 Base64 在 Shell 里怎么管道传输。我只是像对同事说话一样,在终端里敲下了这行字:

shex "用 curl 发一个 POST 请求到 192.168.1.100:8080/login ,Header 里带上 X-Api-Version ,值为一段 base64 编码后的字符串'payload_test',同时 User-Agent 设为 IE6 ,忽略 SSL 证书错误,并显示详细输出"

按下回车。

见证奇迹的时刻

终端里光标闪烁了一秒,那是 Shex 正在连接后端的大模型大脑。

紧接着,一行完美的、绿色的命令出现在屏幕上:

curl -X POST -k -v \
  -H "X-Api-Version: $(echo -n 'payload_test' | base64)" \
  -H "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" \
  http://192.168.1.100:8080/login

这就是 Shex 的恐怖之处。它不仅听懂了我的“人话”,还自动帮我处理了:

屏幕下方弹出提示: Confirm execution? [y/N]

我毫不犹豫地敲下 y

绝杀

屏幕上瞬间刷过瀑布般的 HTTP 响应流。在那些杂乱的 HTML 代码中,我敏锐地捕捉到了那个闪着金光的字符串:flag{sHeX_1s_THe_fuTuRe}

提交,得分,反超。 排名榜瞬间刷新,我的 ID 跃升至第一位。此时距离比赛结束仅剩 30 秒。

赛后,Phantom 跑过来问我:“兄弟,你是怎么手搓出那么复杂的 Payload 还没出错的?我光是查 Base64 嵌套的语法就花了 5 分钟。”

我指了指屏幕上还没关闭的 Shex 界面,笑了笑:“我没有手搓,我只是有个‘懂我’的翻译官。”

为什么你需要 Shex ?

在技术的世界里,最遥远的距离不是你不知道怎么做,而是你知道怎么做,却因为忘记了命令参数而被卡住

无论是运维查日志、开发做 Git 合并,还是像我一样做安全测试,Shex 都能让你从繁琐的语法记忆中解放出来。

它不是要替代你的技术,而是让你的技术光速落地

Shex ,让命令听懂你的语言。


👉 项目开源地址: https://github.com/YUHAI0/shex

(注:本文故事纯属虚构,文中涉及技术仅供安全研究与教学使用,请勿用于非法用途。)

1134 次点击
所在节点    推广
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.xtra.eu.org/t/1187626

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX