安全基础~信息搜集2

知识补充

因此,当你用御剑扫描时:
若扫描域名,扫描的实际是网站根目录下的一个文件夹;
若扫描IP,扫描的实际是网站的根目录。
WEB源码拓展
域名解析基础知识

30余种加密编码&杂项CTF

参考链接
古典密码学自己整理过一次,现代密码还没怎么学习,在连接中学吧

信息收集

资产&框架

参考链接

操作系统判断:
Windows对网址大小写不敏感,Linux对大小写敏感。也就是说你可以在网页中替换网站路径的大小写进行测试。

(1)有url时
Windows:url输入大写或者小写,页面展示没有区别
Linux :url输入大写,页面不展示

(2)没有rrl时,对ip进行端口扫描
通过nmap进行扫描:nmap -O IP地址 (推荐)
通过TTL来判断目标主机的操作系统类型;
不同的操作系统的默认TTL值是不同的, 所以我们可以通过TTL值来判断主机的操作系统,但是当用户修改了TTL值的时候,就会误导我们的判断,所以这种判断方式也不一定准确。

数据库端口:
一、关系型数据库
1、MySql数据库 ,默认端口是: 3306;
2、Oracle数据库 ,默认端口号为:1521;
3、Sql Server数据库 ,默认端口号为:1433;
4、DB2数据库, 默认端口号为:5000;
5、PostgreSQL数据库, 默认端口号为:5432;
6、国产的DM达梦数据库, 默认端口号为:5236。
二、NoSql数据库(非关系型数据库):
1.Redis数据库,默认端口号:6379;
2.Memcached数据库,默认端口号:11211 ;
3.MongoDB数据库,默认端口号:27017;

违法源码搜索

https://www.huzhan.com/
https://28xin.com/
https://bbs.bcb5.com/
https://www.shixinwl.com/
https://www.lengcat.com/
https://www.xlymz.com/
https://www.ymadx.com/

更多针对违法应用源码:
可利用fofa和bing、谷歌等搜索关键字获取

CDN绕过

CDN介绍:
CDN的全称是Content Delivery Network,即内容分发网络。
CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。但在安全测试过程中,若存在CDN服务,将会影响到后续的安全测试过程。

判断目标存在CDN:

  1. 超级ping网址:http://ping.chinaz.com/:
    http://ping.aizhan.com/
    http://ce.cloud.360.cn/
    • 在没有CDN时,所有返回的IP都一样。
      无CDN
    • 有CDN时,发现存在多个IP
      百度有CDN
  2. 使用nslookup
    nslookup

CDN对于安全测试有哪些影响:
   cdn会隐藏服务器真实的ip地址,无法对目标网站的操作系统进行渗透,但cdn站点又可以理解为是目标站点的镜像站点(大多数都是静态cdn加速),拥有相同的网站架构,且cdn服务器可与站点服务器进行交互,因此sql注入,xss等漏洞的挖掘并不受太大影响。

常见的CDN绕过技术:
1.子域名查询:因为有些主站是做了CDN服务而子站是没有做CDN服务(节约成功)

一般子站部署时,有3种情况,

  • 一是跟主站相同IP,此时我们知道了子站IP,相当于知道了主站IP;

  • 二是跟主站IP不同,但是网段相同,此时可以扫描相同网段是否存活其他主机,大概率就是主站IP。比如192.168.1.100是子站IP,那么就扫描1-254网段判断;

  • 三是子站IP和主站IP完全没有关系,此种情况我们无法判断,暂不考虑。

    以学而思为例,利用子域名上的小技巧
    超级ping一下www.xueersi.com,有63个IP;
    step1
    step2
    超级ping一下xueersi.com,只有一两个IP,真实IP是其中一个。
    step3
    原理解释:

    一般配置网站域名时,大部分人会进行如下配置
    suchas
    这里有2条记录:

        第一条表示,xiaodi8.com指向47.75.212.155;
        第二条表示,www.xiaodi8.com也指向47.75.212.155;
        这就意味着,当你在浏览器中访问xiaodi8.com和www.xiaodi8.com时,返回的内容是一样的。
    但是,当给网站配置CDN时,大部分人会直接给第一条记录www.xiaodi8.com配置CDN,而漏掉了第二条记录xiaodi8.com。
    因此当你超级ping www.xiaodi8.com时,会出现多个IP,超级ping xiaodi8.com时,仅出现一个IP,也就是真实IP。

    1.1 子域名查询工具
    ○ DNS查询:https://dnsdb.io/zh-cn/
    ○ 微步在线:https://x.threatbook.cn/
    ○ 在线域名信息查询:http://toolbar.netcraft.com/site_report?url=
    ○ DNS、IP等查询:http://viewdns.info/
    ○ CDN查询IP:https://tools.ipip.net/cdn.php
    ○ SecurityTrails平台: https://securitytrails.com/domain/www.baidu.com/history/a
    ○ 在线子域名二级域名查询:http://tools.bugscaner.com/subdomain/
    ○ 工具子域名挖掘机,可以在网上找到。

    1.2 子域名小技巧
    一般情况下,www.XXX.com和XXX.com指向的是同一个DNS服务器,进入XXX.com会自动跳转到www.XXX.com,所以XXX.com不需要大流量,不用做CDN。如果加www检测不出来,可以试着去掉,或许就可以得到真实IP了。

  1. 邮件服务查询:因为邮箱大部分都是内部人在访问,而且访问的量也不是很大,一般是没有做CDN。
    以steam为例,这可能就是真实的ip
    steam
    邮件源代码或者邮件头查看到目标的真实IP。
    主机扫描:nmap -sP/sn <目标 IP 范围>,用于发现网络中的活动主机
    nmap -sP 208.64.200-203.0-255
    IP查询在线工具:https://zh-hans.ipshu.com/
    扫描结果部分
    whois
    result

  2. 国外地址请求:因为很多的企业没有在国外部署CDN,要是用国外的地址请求,就容易找到他的真实地址。
    https://tools.ipip.net/cdn.php

  3. 遗留文件,扫描全网

    • 一些站点在搭建之初,会用一些文件测试站点,例如“phpinfo()”文件,此类文件里就有可能包含了真实的IP地址。可以利用Google搜索引擎搜索关键字“site:xxx.com inurl:phpinfo.php”,搜索站点是否有遗留文件。
    • 通过ping检测,扫描全网,找到所有的IP地址,其中一个可能就是真正的IP,通过分析找到真实IP。
      比如某服务器部署在武汉,那么他在其他省市部署了CDN,但是为了节约成本等,可能在武汉就没有部署CDN,那么在武汉访问到的IP就是真实IP。
      dig命令
  4. 黑暗引擎搜索特定文件:fofa、shodan、zoomeye、censys、谛听
        这里的特定文件,指的是站点的icon文件,也就是网站的图标,一般查看网页源代码可以找到,格式大致“http://www.xx.com/favicon.ico”。在shodan搜索网站icon图标的语法为:http.favicon.hash:hash值,hash是一个未知的随机数,我们可以通过shodan语法来查看一个已经被shodan收录的网站的hash值,来进一步获取到所有带有某icon的网站。

    • 获取hash值
    1. python工具
      #Python2 开发别搞错了执行环境 
      #安装 mmh3 失败记得先安装下这个Microsoft Visual C++ 14.0 
      import mmh3 
      import requests 
      response = requests.get('http://www.xx.com/favicon.ico') 
      favicon = response.content.encode('base64') 
      hash = mmh3.hash(favicon) 
      print 'http.favicon.hash:'+str(hash)
      
    2. 利用FOFA间接获取
      FOFA高级会员可以直接搜索icon,但是一般用户可以直接搜索icon,它会返回icon的hash值,http.favicon.hash:hash值
      icon hash参考文章
      eg
      然后再利用shodan的语法:http.favicon.hash:hash值,就可以进行搜索
      result
#开发环境:python3
import base64
import requests
from bs4 import BeautifulSoup
import re

parturl1 ="https://www.fofa.so/result?qbase64="
parturl2 = (base64.b64encode(input("请输入favicon地址:").encode('utf-8'))).decode('utf-8')
result = (requests.get(parturl1+parturl2)).text
soup = BeautifulSoup(result,"html.parser")
scripts = soup.select("script")
index=str(scripts[3]).find('icon_hash=')
temp=str(scripts[3])[index:]
icon_hash = str(re.findall("\d+", temp))
print("shodan搜索语法为:http.favicon.hash:"+icon_hash[2:-2])
  1. DNS历史查询
    使用CDN服务之前,它的真实IP地址可能被DNS服务器所记录到。在网上开CDN的时候,都会分地区流量,就比如这个节点有100M流量,当这流量用完后,用户再访问就会访问网站真实的ip地址。
    eg
  2. 第三方接口:https://get-site-ip.com,不一定准确,仅供参考
  3. 全网扫描工具:fackcdn w8fuckcdn zmap ,结果需要自己判断,有误报率

CDN真实IP地址获取后绑定指向地址:
修改hosts文件
Win:C:\Windows\System32\drivers\etc\hosts
Linux:/etc/hosts

站点搭建分析

1. 目录型站点

简单的理解就是主站上面存在其他的cms程序,则是一个网站,但区别在于目录下的差异
例如:在小皮上WWW目录下,他们仅仅是目录的路径不同
eg
两个网站是两套程序,一个网站源码出现漏洞,另一个网站也会遭殃,就等于给与了两套漏洞方案
可通过目录 扫描工具可以查询到

2. 端口类站点

一个服务器(网址)的不同端口,一个网站出现安全问题,也会导致另一个网站出现安全问题。

这种情况只要搞定一个基本就可以渗透。
配置端口
端口+目录
对于这类站点,进行端口扫描,或者在网上搜索信息

3. 子域名站点

不同域名不同CMS

子域名和网站之间很有可能是不在同一台的服务器上面
例如goodlift.net是B2B搭建,bbs.goodlift.net是Discuz!搭建

eg
它们是同一ip
ip相同
同一网段
同一网段

4. 类似域名站点

有些公司由于业务的发展将原来的域名弃用,选择了其他的域名。但是我们访问他的旧的域名还是能够访问,有的是二级域名的更换而有的是顶级域名的更换。可以通过他的旧的域名找到一些突破口。
eg
遇到一个网站,还可以 爆破相关域名后缀,比如.com、.cn、.edu.cn等

5. 旁注,c段站点

旁注(从旁注入):利用同一主机上面不同站点的漏洞,得到webshell,从而利用主机上的程序或者服务所暴露出用户所在的物理路径,进行入侵。同服务器不同站点。两个网站或者多个网站放在同一个服务器上,其中一个网站是目标。(此时就应该变到内网了)。 / c o l o r r e d s / /{color}{red}s/ /colorreds/
C段:同网段不同服务器不同站点,通过扫描发现与你渗透测试的是同一个网段最终拿下服务器,然后通过内网渗透的方式拿下目标服务器。

旁注查询在线工具:https://www.webscan.cc/

6. 搭建软件特征站点

第三方的集成搭建工具实现:宝塔、PHPstudy、WMAP、INMAP(Nginx)
http请求头的server 中有所体现

WAF

web应用防火墙可以防止Web应用免受各种常见攻击,比如SQL注入,跨站脚本漏洞(XSS)等。WAF也能够监测并过滤掉某些可能让应用遭受DOS(拒绝服务)攻击的流量。
分为:硬件形式和软件形式。
在安全公司单位购买的防火墙都是硬件,个人网站和小企业搭建都是软件。

常见的waf:https://www.cnblogs.com/charon1937/p/13799467.html

WAF的识别
wafw00f Github地址:https://github.com/EnableSecurity/wafw00f
安装环境:python3环境 —>使用 pip install wafw00f 进行安装

相关推荐

  1. 信息安全基本概念汇总

    2023-12-23 04:04:02       29 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-23 04:04:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-23 04:04:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-23 04:04:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-23 04:04:02       20 阅读

热门阅读

  1. 【ECMAScript】DOM节点类型知识点的梳理和总结

    2023-12-23 04:04:02       34 阅读
  2. 基于多元宇宙MVO算法的多目标优化(Matlab代码)

    2023-12-23 04:04:02       46 阅读
  3. golang项目目录推荐

    2023-12-23 04:04:02       45 阅读
  4. 探索 Golang 中的错误处理机制与最佳实践

    2023-12-23 04:04:02       37 阅读
  5. 最小编程单元的设想

    2023-12-23 04:04:02       40 阅读
  6. 字符串变换最小字符串(100用例)C卷

    2023-12-23 04:04:02       43 阅读
  7. docker hub 上传笔记

    2023-12-23 04:04:02       42 阅读
  8. [NOIP2014 提高组] 生活大爆炸版石头剪刀布

    2023-12-23 04:04:02       57 阅读
  9. Qt获取屏幕DPI缩放比

    2023-12-23 04:04:02       51 阅读
  10. C#基础——同步异步、预处理指令

    2023-12-23 04:04:02       47 阅读
  11. 洛谷 P8823

    2023-12-23 04:04:02       36 阅读
  12. Android将自定义的SurfaceView保存为bitmap

    2023-12-23 04:04:02       39 阅读
  13. Mysql配置主从同步流程

    2023-12-23 04:04:02       41 阅读