CTF/合天网安实验室-web100题解【eval与alert的利用】

破解Web谜题
本文介绍了解决一个通过输入特定字符串来获取flag的Web谜题的方法。主要通过浏览器调试及修改eval函数为输出函数两种手段,解析混淆的JavaScript代码,揭示其背后的逻辑。

原题内容:

http://www.hetianlab.com/CTFrace.html

 

web100打开可以看到只有一个很干净的zip文件下载(忍不住扫了一下目录,也bp看了一下,,没啥发现)

回到下载,解开压缩版,web100,无后缀名,个人的经验是不急着加后缀名啥的,直接用记事本直接打开

可得代码如下:

 

<script>_='function $(){e=getEleById("c").value;length==16^be0f23233ace98aa$c7be9){tfls_aie}na_h0lnrg{e_0iit\'_ns=[t,n,r,i];for(o=0;o<13;++o){	[0]);.splice(0,1)}}}	\'<input id="c">< onclick=$()>Ok</>\');delete _var ","docu.)match(/"];/)!=null=["	write(s[o%4]buttonif(e.ment';for(Y in $='	')with(_.split($[Y]))_=join(pop());eval(_)</script>

很有意思啊,很混乱的代码,但很明显头尾的script表面这肯定和script有关,既然如此,不凡用浏览器打开一试

 

预感,这是输入满足条件的数据获取flag

至于条件是啥,肯定要读懂给的web100表示的意思了

首先我想到的是在(博主用的是google浏览器)浏览器自带的开发者模式下进行调试,

思路就是卡住最后一步,加断点,然后看变量‘_’的内容

至于为啥要这样,首先粗略看出来_变量赋值了一段代码,因为eval(_),eval函数是执行代码段的函数,卡住执行代码,然后查看代码段

结果图如下:


右边watch中可见_的值,为代码,分析最终可得flag(此处不公布答案了,代码拿到其实就很简单了)

至于如何调试,详情参考我的博客谷歌浏览器调试javascript教程

 

下面讲第二种方法

获取很容易想到,既然eval是执行函数我将其换成输出函数不就可以将代码段输出了么,没错,确实可以

将eval换成alert

截图如下:

之后如同第一种办法,这里不再解释

 

 

 

 

CTF比赛中,使用 `ctftools-all-in-one` 工具可以帮助选手快速定位问、自动化测试以及提高解效率。该工具集成了多种Web目常用的插件和功能,能够应对常见的漏洞检测利用场景,如SQL注入、XSS、文件包含、目录扫描等。 ### 使用 `ctftools-all-in-one` 解决 Web目的方法 #### 1. **环境准备** 确保你已经下载并装了 `ctftools-all-in-one` 工具包,同时具备 Python 环境支持。通常该工具依赖于 Python 3 和一些第三方库,例如 `requests`、`BeautifulSoup`、`lxml` 等。 ```bash pip install requests beautifulsoup4 lxml ``` #### 2. **基础扫描功能** `ctftools-all-in-one` 提供了基本的网站扫描功能,可以用于发现隐藏路径、备份文件、常见配置文件等。 ```bash python ctftools.py dirscan -u http://example.com ``` 此命令将对目标网站进行目录扫描,识别 `.git`、`.DS_Store`、`robots.txt`、`backup.zip` 等敏感资源,适用于像引用[4]中提到的源码泄漏情况 [^4]。 #### 3. **SQL 注入检测** 该工具内置 SQL 注入检测模块,可以自动探测是否存在注入点,并尝试提取数据库信息。 ```bash python ctftools.py sqli -u http://example.com/login.php --data "username=admin&password=123" ``` 此命令会对登录接口进行 POST 请求注入测试,适用于 Web目中常见的登录框绕过或数据库信息获取场景 [^4]。 #### 4. **XSS 漏洞检测** 对于存在用户输入输出的页面,如留言本、评论框等,`ctftools-all-in-one` 可以自动探测 XSS 漏洞。 ```bash python ctftools.py xss -u http://example.com/submit.php --data "comment=test" ``` #### 5. **文件上传漏洞检测** 该工具支持检测是否存在可利用的文件上传漏洞,并尝试上传 WebShell。 ```bash python ctftools.py upload -u http://example.com/upload.php --file shell.php ``` #### 6. **Cookie 注入会话劫持** 通过设置自定义 Cookie 或模拟登录,可以尝试进行会话固定、越权访问等操作。 ```bash python ctftools.py cookie -u http://example.com/dashboard.php --cookie "PHPSESSID=abc123xyz" ``` #### 7. **结实战案例分析** 在实际 CTF 比赛中,Web 目往往需要综运用多个技巧。例如,在引用[4]中提到的 `.DS_Store` 泄漏事件,可以通过以下命令检测: ```bash python ctftools.py dsstore -u http://example.com/.DS_Store ``` 该命令将解析 `.DS_Store` 文件内容,提取出可能存在的源码路径,进而下载源码进行审计,寻找 flag 所在位置 。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值