ip追踪是一件比较难实现的,因为我只有一个ip,而且在没有任何技术支持下对该ip追踪,同时我在公司也没有服务器权限,仅有后台,一般的ip追踪技术分类,反应式ip追踪,主动式的追踪,分享的只是一个过程,提供一个思路我不敢保证每个人都能这样成功利用。

本文作者:i春秋签约作家——rosectow

早晨起床上班像往常一样,打开电脑,吃一份早餐,看看i春秋学习技术,在打开公司的网站做一份数据统计,但是今天打开网站的cnzz统计时不向往常那样了,发现显示在今天来路域名中有一个网站看着很熟悉,仔细看清楚这个不是awvs的扫描地址吗?

0×01

很疑问难道有黑客要来黑网站,发现单独一个ip对网站的访问次数是64次,wvs帮他扫描了64,不过这个次数数据有可能不准确,突然想起了在Freebuf里面看过大牛写过“论如何反击用AWVS的黑客”内容相当精彩,但是我这一次是要对这扫描者进行追踪,freebuf那边那篇是故意让黑客来访问他的攻击页面,所以利用不上,不过也是学习了,想看看是谁想要来攻击网站,因为网站多次给扫描了,这不是第一次了,所以不能每次只做防御,也要让这个黑客收手吧!

Cnzz里面有许多的信息可以寻找,而且我们网站也有记录一些信息,今天早上网站的访问量不是很多,找起来也就方便许多,uv 1000个 ip
900多个差不多这样,根据流量趋势中发现了在9点到10点这段时间uv 跟ip
90多个但是PV是800多,分析出这段时间是黑客对网站进行扫描的时间

于是我在明细中,找到了一个可疑的ip,这个ip在这个9-10的时间段,这个ip访问了两百多次,但是仔细看了一下另外这个访问两百多次的ip是我们公司的ip,事实证明了这个不是攻击者的ip,其中还有一个ip在网站点击了100多次,平均是1秒点击3个页面,跳出率是百分之百根据分析是wvs在进行扫描,这个ip就是攻击者的ip。

想到这个ip可能是代理ip可能不是黑客的真实ip,因为公司网站中添加了一些“获取客户端”真实ip防止黑客使用代理访问

参考https://my.oschina.net/geekice/blog/149556 nginx反向代理httpd获取用户真实ip

0×02

公司的网站是jsp这里我就贴上Java的获取真实ip的后端代码,下面了解一下这些代码

public String getClientIP(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
  
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
public String getClientIP (HttpServletRequest request)

得到用户的公网(代理)ip 然后在对用户发起一次http请求

String ip = request.getHeader("x-forwarded-for");

请求获取x-forwarded-for ,x-forwarded-for就是请求获取http访问的真实ip

大致的过程也就是这样来获取,下面的代码是判断ip之类的,这个Java的代码目的也是获取http访问的真实ip,下面的就不做解释了,理解他的主要功能就行

如果想深入了解的可以看看,下面这篇文章,写的很经常,也是写nginx 反向的一些东西

http://www.cnblogs.com/zhengyun_ustc/archive/2012/09/19/getremoteaddr.html

0×03

前面确认攻击者是哪个ip,但是为了保障ip正确我在公司的一些记录里找到了有这个ip来访,那么已经得到了一定的保障这个ip是对的,发现了这个ip来自xx省xx市,那么得到了ip之后接下来是要对这个ip进行定位,在找到这个攻击者的联系方式,我利用了某站的定位测试了一下

定位测试在这一块区域2774米内,为了确保定位测试正确,我使用其他接口再一次定位这个ip,以及用谷歌硬件查询他的经纬度地址,他的ip就在2774米内是最准确的数据

0×04

接下来我要在这块区域找到这个黑客的联系方式,我们每个人必用的社交软件有qq,微信 差不多就这两个是在手机电脑里的,其他的应该比较少,我之前写过一篇,(定位日站大法-之社会工程学)也发在i春秋社区里面,因为这篇文章写的内容也是有一处相关的,这里我也就利用到这篇文章其中一张图片,为了不泄露测试的目标就用一下,使用到的是qq的漫游定位功能,有些人说qq没法定位,因为qq高版本的好像没有了qq漫游定位这个功能,所以先下载16年的版本测试吧。

因为这里我在2000多米的范围内进行定位然后在找到附近的人,然后还要进一步了解,这肯定是要消耗大量时间的,而且需要运气的,因为我是找到的每一个都放入http://www.zhaohuini.com/查找注册过的网站,以及百度搜索这些qq的信息,看看有没有什么重要的确认点没,经过一番查找,查找到了一个qq曾经注册过许多安全类型的论坛,和idc网站

0×05

添加了该qq,对他的空间访问,查看看见了许多挂其他网站的黑连接,黑页之类的,感觉应该是这个人,但是这个人没有发布我们公司网站的记录,因为我们公司的网站是存反射性xss的可能是黑客没有发现漏洞吧!但是wvs扫描器应该会找到这个漏洞的,判断过程中不敢明确是这个人对我们网站扫描,因为我在经纬度定位中定位到了找到了一个这样的人是非常可疑但是“也有可能不是”这个人。

先发出来,因为定位到那边这个qq是在一个中学附近定位到的所以那个中学说不定他们这两个人是同学,暂时不敢确认是这个人,后面我还会继续找这个攻击者的联系方式的,他们的学校官网目前也是关闭状态导致我无法更加深入的去了解。

反击黑客之对网站攻击者的IP追踪的更多相关文章

  1. 一种基于自定义代码的asp.net网站首页根据IP自动跳转指定页面的方法!

    一种基于自定义代码的asp.net网站首页根据IP自动跳转指定页面的方法! 对于大中型网站,为了增强用户体验,往往需要根据不同城市站点的用户推送或展现相应个性化的内容,如对于一些大型门户网站的新闻会有 ...

  2. Nginx禁止直接通过IP地址访问网站以及限制IP登陆某目录(关闭默认站点或空主机头)

    这篇文章主要介绍了Nginx中禁止使用IP访问网站的配置实例,一般在备案时可能需要这种设置,需要的朋友可以参考下   国内因为备案的原因,所有服务器都要禁止使用IP访问网站.否则,如果允许使用IP访问 ...

  3. Shell 命令行统计 apache 网站日志访问IP以及IP归属地

    Shell 命令行统计 apache 网站日志访问IP以及IP归属地 我的一个站点用 apache 服务跑着,积攒了很多的日志.我想用 shell 看看有哪些人访问过我的站点,并且他来自哪里. 因为日 ...

  4. 新手学黑客攻防-黑客攻击电脑方式和认识IP地址

    听说过黑客,没见过黑客,从最基础的开始学习,让我能在互联网中保护自己的隐私安全和信息安全. 黑客攻击电脑方式 黑客攻击的方式多种多样,但常见的只有以下几种,基本上每个黑客都会用到: 网络报文嗅探 网络 ...

  5. https多网站1个IP多个SSL证书的Apache设置办法

    这些天接触了解SSL证书后,写了一篇<申请免费的SSL证书,开通https网站>博文,其中简单记录了Apache的设置,后来又涉及到多个域名.泛域名解析.通配符SSL证书.单服务器/多服务 ...

  6. 网站每日PV/IP统计/总带宽/URL统计脚本分享(依据网站访问日志)

    在平时的运维工作中,我们运维人员需要清楚自己网站每天的总访问量.总带宽.ip统计和url统计等.虽然网站已经在服务商那里做了CDN加速,所以网站流量压力都在前方CDN层了像每日PV,带宽,ip统计等数 ...

  7. 网站精准查询IP

    分享一些网站能精准查询IP的 https://www.chaidu.com/App/Web/IP/ http://www.ipip.net/ip.html http://www.hao7188.com ...

  8. 扫描网站服务器真实IP的小脚本

    #!/usr/bin/env python # -*- coding: gbk -*- # -*- coding: utf_8 -*- # Date: 2015年9月11日 # Author:蔚蓝行 ...

  9. IIS网站设置禁止IP访问设置方法

    本文设置系统为Windows2003.IIS版本是6.0. 打开IIS管理器,在iis管理器左侧单击打开网站下面的相应需要设置的网站,并在此网站上右键,选择属性,即可打开该网站属性进行相关设置. (i ...

随机推荐

  1. 测试开发之Django——No2.Django的安装以及项目创建

    开发平台:Mac Python版本:3.7 Django版本:2.0.5 一.Django的安装 1.pip安装 输入命令pip install Django==2.0.5 说明:不指定版本,则安装的 ...

  2. GET和POST两种基本请求方法的区别(转载)

    get与post请求的区别: 通常回答: GET在浏览器回退时是无害的,而POST会再次提交请求. GET产生的URL地址可以被Bookmark,而POST不可以. GET请求会被浏览器主动cache ...

  3. java 异常匹配

    抛出异常的时候,异常处理系统会安装代码书写顺序找出"最近"的处理程序. 找到匹配的程序后,它就认为异常将得到清理,然后就不再继续查找. 查找的时候并不要求抛出的异常同处理程序的异常 ...

  4. ruby on rails在fedora18上install

    ruby on rails 在fedora18下的安装 天朝的网络原因,安装不是很顺畅,所以把过程记录下备用 前面下载rubygem什么的都比较快,新建一个project的时候会出问题 gem new ...

  5. .NetCore使用FluentValidation实现友好验证提示

    Nuget包导入FluentValidation.AspNetCore 官方的用法是在services中添加如下来操作 services.AddMvc().AddFluentValidation(co ...

  6. Orchard学习 02、orchard 路由

    Orchard对mvc路由重新做了包装,重写了asp.net的路由模块 一.路由模块类图 1.路由 Descriptor RouteDescriptor是对常规mvc路由的包装类,它的Route属性就 ...

  7. Codeforces 486E LIS of Sequence

    LIS of Sequence 我们先找出那些肯定不会再LIS里面. 然后我们从前往后扫一次, 当前位置为 i , 看存不存在一个 j 会在lis上并且a[ j ] > a[ i ], 如果满足 ...

  8. SQL中的坑

    一.where,group by,having --group by 和having 解释:前提必须了解sql语言中一种特殊的函数:聚合函数, 例如SUM, COUNT, MAX, AVG等.这些函数 ...

  9. 001.iSCSI简介

    一 iSCSI简介 Internet小型计算机系统接口是一个机遇TCP/IP的协议,用于通过IP网络仿真SCSI高性能本地存储总线,从而为远程存储设备提供数据传输和管理.作为SAN协议,iSCSI跨本 ...

  10. java go

    熟练掌握java技术,对多线程.数据结构有清晰的认识: 熟悉MySQL/Oracle数据库,熟悉关系数据库应用设计开发: 熟悉Spring/MyBatis/Freemarker等一种或者多种框架: j ...