i春秋Web-broken(2017第二届广东省强网杯线上赛)

本文解析了JSFuck编码原理,通过修复编码错误,成功从40000字符的编码中提取出隐藏的Flag信息。详细介绍了从发现问题到解决问题的全过程。

进站源码没什么东西,有个链接进去看到jsfuck编码,拿到控制台里去执行确无法执行,可能是编码出问题了。

jsfuck编码原理参考:https://github.com/aemkei/jsfuck/blob/master/jsfuck.js

网站上有编码源码,给出了各个字符的jsfuck编码形式,最后的一对括号是没有的,应该是多余的,去掉之后仍然不能成功。

最前面的应该是[],我们在第二个字符的地方补上一个],回车弹出:

 alert("flag is not here")进行jsfuck编码之后有5903个字符,然而网页中的这一串却又40000个字符之多,应该是还有一部分编码,而flag可能就在没有显示出来的字符里,下面就是这一串编码的修复了。

根据原理,编码中没有单纯一对括号的情况,所以去掉最后的(),开头的第一个[也可能是多余的,删除之后回车得到:
Array [ "var flag=\"flag{f_f_l_u_a_c_g_k}\";alert('flag is not here');" ]

拿到flag。

### 命令作用 `apt --fix-broken install -y` 命令主要用于修复软件包安装过程中出现的依赖关系问题。当执行 `apt install` 命令时,如果出现依赖关系错误,例如某个软件包依赖的其他软件包未安装或者版本不兼容,使用该命令可以尝试自动修复这些问题,并继续完成软件包的安装过程。`-y` 选项表示在执行命令时自动回答所有询问为“是”,避免在安装过程中需要手动确认每个步骤 [^1]。 ### 使用场景 该命令通常在以下场景中使用: - 执行 `apt install` 命令时,出现依赖关系错误,如找不到所需的依赖包或者依赖包版本不匹配。 - 系统中存在破损的软件包,导致其他软件包无法正常安装或更新。 ### 可能出现的问题及解决办法 #### 问题1:仍然无法修复依赖关系 - **原因**:可能是软件源中缺少某些必要的依赖包,或者依赖包的版本与系统不兼容。 - **解决办法**: - 首先更新包源,执行 `sudo apt update` 命令,确保系统能够获取到最新的软件包信息。 - 尝试使用 `sudo apt --fix-broken install` 命令(不使用 `-y` 选项),手动查看并确认安装过程中的提示信息,以便更准确地处理问题。 - 若问题仍然存在,可查看系统依赖状态,执行 `sudo dpkg --audit` 查看破损的包,执行 `sudo apt-mark showhold` 查看被“保留”的包(可能导致依赖冲突),根据输出信息进一步处理 [^1][^3]。 #### 问题2:络问题导致无法下载依赖包 - **原因**:络连接不稳定或者软件源服务器出现故障。 - **解决办法**: - 检查络连接是否正常,可尝试访问其他站进行验证。 -络连接正常,但仍然无法下载依赖包,可尝试更换软件源。编辑 `/etc/apt/sources.list` 文件,将当前的软件源地址替换为其他可用的地址,然后执行 `sudo apt update` 命令更新包源信息。 #### 问题3:命令执行过程中出现权限问题 - **原因**:执行该命令时没有足够的权限。 - **解决办法**:确保以管理员权限执行该命令,即在命令前加上 `sudo`,如 `sudo apt --fix-broken install -y`。 ### 代码示例 ```bash # 更新包源 sudo apt update # 尝试使用 apt --fix-broken install -y 命令修复依赖关系 sudo apt --fix-broken install -y ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值