<html>
<head>
<title>cookie</title>
<script type = "text/javascript">
var user_name;
var del = new Date();
document.write(del.toGMTString());
function check() {
user_name = document.getElementById("user").value;
del.setFullYear(del.getFullYear() + 1);
document.cookie = escape("name") + "=" + escape(user_name) + ";expires = "+ del.toGMTString();
alert(document.cookie);
}
</script>
</head>
<body>
<form>
username : <input type = "text" id = "user"></input>
<input type = "button" value = "enter" onClick = "check()"></input>
</form>
</body>
</html>
Cookie不希望在Chrome中提醒,但它在Firefox中有效,但只显示用户名。有人有什么建议吗?
答案 0 :(得分:1)
对,我知道这是一个相当古老的问题,但我用Google搜索同样的事情。
我是一名渗透测试人员,因此在测试XSS和其他各种与Javascript相关的攻击时,警报是我想要使用的常用方法。
然而,在Chrome中,当它想要工作时似乎非常间歇。
以下是可能有所帮助的答案:
window是DOMWindow的一个实例,并通过设置来实现 window.alert,正确的实现被“遮蔽”,即 当访问警报时,它首先在窗口对象上查找它。 通常没有找到它,然后它上升到原型链 找到本机实现。但是,手动添加时 警告属性到窗口,它立即找到它,不需要 上原型链。使用delete window.alert可以删除 窗口拥有属性并再次公开原型实现 警报 引自“Matty F” - alert() not working in Chrome
我希望这有帮助!
<强> [编辑] 强> 此外,Chrome上还有一个内置的XSS过滤器,因此当您进行可疑活动时,例如警告document.cookie等.Chrome会过滤掉它认为是恶意的内容。如果你使用--disable-xss-audit参数启动Chrome,有很多方法可以解决这个问题,但是,在我看来,这似乎比它的价值更麻烦。