显示以下JS代码的密码
Reveal a password for the following JS code
我在一次面试中得到了这个,但我不知道答案。。。我收到了一个运行JS的HTML文件,我需要找到密码。
当我运行HTML文件时,我得到了除了"Good job"或"Too bad"字符串之外的所有内容。我发现可能有一个隐藏的代码覆盖了这个代码(我这么认为是因为我在这个HTML文件中找不到这样的字符串)。
不管怎样。。。我从原始文件中复制了代码,并将其保存为一个新的HTML,然后我得到了"太糟糕了",而不是隐藏代码的奇怪消息。
如果有人能向我解释下面的代码,并告诉我他是如何透露正确密码的,我会非常高兴。
谢谢!!
代码:
<script type="text/javascript">
function c(x){ alert((document.getElementsByTagName('input')[0].value == window.location.hostname.replace(/a-f/, '%')) ? 'Good job!' : 'Too bad!'); }
</script>
Password: <input /><br />
<button onclick="c()">Check</button>
我将HTML文件上载到:http://www.filedropper.com/secretpass
document.getElementsByTagName('input')[0].value == window.location.hostname.replace(/a-f/, '%')
此代码将输入的值与从URL主机名派生的字符串进行比较。
它被用作显示消息的条件运算符的比较器。
我相信密码将取决于托管此脚本的网站。c函数查看window.location.hostname(例如www.google.com),并将a、b、c、d、e或f的第一次出现替换为百分号"%"。我认为百分比符号在JS regex表示法中没有任何意义,所以如果脚本托管在www.yahoo.com
这个小提琴展示了事物的行为。我添加了一个附加功能,它只显示期望的密码。在这种情况下,预期的密码是fiddle.jshell.net
,因为它是生成文档所在框架的主机。
因此,是的,密码是直接从网页的URL派生而来的。如果它只是本地机器上的一个HTML文件,就像上面提到的那样,它的URL就像
file:///C:/Users/yourname/Desktop/jobtest.html
地址栏上显示的都是。然而,我怀疑它是否如此简单,因为对于在file://
URL上运行的网页,我们有
window.location.hostname == ""
这意味着密码只是一个空字符串。因此,您可以将输入字段留空,然后单击按钮。如果您在本地服务器上运行它,它可能会工作,在这种情况下,密码将是localhost
,正如@Chris所提到的。
但我也怀疑您复制的代码可能有点错误。也许不是,也许这只是一个欺骗,但replace()
函数中的正则表达式似乎是错误的。代替
`window.location.hostname.replace(/a-f/, '%')`
我希望
`window.location.hostname.replace(/[a-f]/, '%')`
其将用%
替换第一小写a
、b
、c
、d
、e
或f
。所以你应该有lo%alhost
而不是localhost
。
无论如何,从您的问题来看,密码只是URL的主机名部分,a-f
的第一个实例被%
替换。因此,您将使用www.zeld%orever.com
而不是www.zelda-forever.com
。
- 从桌面读取python文件时高亮显示代码
- 如何将函数包装在函数中以避免代码重复
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 货币代码为欧元-金额的格式不应包含小数
- Regex代码只允许一个空格
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 从var向代码隐藏函数传递值
- 如何动态插入jquery代码
- 如何在php变量中嵌入JQuery代码
- 正在云代码中检索用户密码
- 检查密码-代码中的错误在哪里
- Caesar密码在html中使用javascript(带有ASCII代码)需要帮助
- 带有哈希密码的代码 PHP 无法工作
- 当我尝试计算密码字段时,下面的代码有什么问题
- 我正在尝试制作一个nocatsplash页面 - 它使用HTML代码来检查密码并在输入正确的密码时重定向访问者
- 解析错误400(错误请求){代码:201,消息:“缺少用户密码”}
- 显示以下JS代码的密码
- 使用emberjs的javascript代码(使用emberjs的密码确认密码匹配字段)
- 为什么我的代码无法识别密码中包含的字符
- 禁用'记住密码'提示来自javascript或后面的代码