<html>
<body>
<a href="#" onclick="window.open('https://reg.163.com/CheckUser.jsp?username=aaaa@163.com&password=123456')">163</a>
</body>
</html>
以上代码是可以直接登陆的。
场景二:从你自己的网站中的一个链接,点击直接登陆,就会出项错误提示。
思考:
1、如果你不是大神,没有想到是由于两次提交的referrer的不同造成的。那就教你怎样发现不同的
2、通过使用burpsuit软件,抓取两次提交的数据包,然后比较数据包的不同,你会发现:从本地提交的没有referrer这个头,而从你自己的网站或别的网站的数据包中包含referrer,并且referrer你的网站或别的网站的地址。这样就造成了referrer的不同
3、由此可以,网易是会通过检测referrer的值来判断是否来自网易的或空的,如果是网易的地址或空,那么就验证通过。如果不是就返回错误
4、那么要想完成这个场景中的功能就只能给referrer的值了。可以通过javascript来实现,百度一下你可以了解的更多
实现:
代码如下:
<html>
<body>
<a href="#" onclick="window.open_window('https://reg.163.com/CheckUser.jsp?username=lolxiaoguai@163.com&password=sb123456')">163</a>
<script type=text/javascript>
function open_window(link){
var arg = '\u003cscript\u003elocation.replace("'+link+'")\u003c/script\u003e';
window.open('javascript:window.name;', arg);
}
</script>
</body>
</html>
我的个人分析,有可能错误,由于没有见过window.open的参数出现javascript代码的情况
原理是: window.open打开第一个javascript:window.name;的值为NULL,就没有打开任何网页只是打开一个新的标签页,然后是\u003cscript\u003elocation.replace("'+link+'")\u003c/script\u003e执行javascript的代码,replace替换当前NULL的url,打开link。那么这样的referrer就是NULL了,这样就实现了自动登陆了
总之完成了这样的功能。
参考:
https://www.cnblogs.com/sofiawang/articles/1544631.html
https://www.w3school.com.cn/jsref/met_win_open.asp
https://www.shangxueba.com/jingyan/1900229.html
https://www.jquerycn.cn/a_11559