一.Web渗透第一步
网站是安装在计算机上的应用程序。它有一个操作系统,一个应用程序和一个服务器。例如,WAMP包括:
Web服务器:Apache
数据库:MySQL
编程语言:PHP
访问网站HTML站点的基本流程如下图所示:客户端输入访问URL,DNS服务器会将域名解析成IP地址,然后IP地址访问服务器内容(服务器、数据库、应用程序),最后将内容反馈给客户端的浏览器。
数据库包括要调用的数据,它存储在Web服务器上。这个服务器有一个真实的IP地址,每个人都可以访问和Ping它。每次页面请求或运行程序时,Web应用程序都在服务器上执行,而不是在客户机上执行。
那么,如何入侵一个网站呢?
入侵安装在计算机上的应用程序称为Web应用程序渗透测试,入侵带有操作系统的计算机和应用程序称为服务器攻击,入侵者称为社会工程攻击。我们在进行Web渗透之前,并不是拿到目标就开始使用Webdirscan、SQLMAP等工具,而是需要先获取网站的指纹信息。我们获得的信息越多,就越容易发现背后的漏洞或注入点。收集的常见信息包括:
IP地址;网络地址
域名信息(电子邮件、联系人、地址、电话号码)
技术使用(框架、服务器、数据库、编程语言)
同一服务器上的其他网站\路边网站
DNS记录
文件、子域、目录
本文将介绍简单Web渗透的第一步——常用信息收集方法,希望读者喜欢。
二.域名信息收集
1.域名查询
域名系统
域名系统(英文:Domain Name System,缩写为DNS)是互联网的一项服务。作为一个映射域名和IP地址的分布式数据库,它可以使人们更方便地访问互联网。简单来说就是一个把域名翻译成ip地址的系统。
域名是互联网上的计算机或计算机组的名称,由一系列用点分隔的名称组成。它用于在数据传输过程中识别计算机的电子位置。浏览网站的过程如下图所示,从DNS服务器获取指定域名对应的IP地址。
域名解析
例如,zh..org作为一个域名,对应于IP地址198.35.26.96。DNS就像一个自动电话簿。我们可以直接拨打198.35.26.96的名字zh..org,而不是电话号码(IP地址)。我们直接调用网站名称后,DNS会把一个像zh..org一样方便人类使用的名称,转化成一个像198.35.26.96一样方便机器识别的IP地址。再比如51cto.com的域名,其中edu.51cto.com和www.51cto.com是对应的子域,edu和www是对应的主机名。
2.Whois查询
Whois是一种传输协议,用于查询域名的IP和所有者。简单来说,Whois就是一个数据库(比如域名所有者和域名注册商),用来查询一个域名是否已经注册,以及注册域名的信任度。
不同域名后缀的Whois信息需要在不同的Whois数据库中查询,比如。com的Whois数据库和。edu的。每个域名或IP的Whois信息由相应的管理机构保管。例如,域名的Whois信息以。com由管理。com运营商VeriSign,以及中国国家顶级域名。cn由CNNIC(中国互联网信息中心)管理。
Whois协议的基本内容是:首先与服务器的TCP端口43建立连接,发送查询关键字并添加回车和换行符,然后接收服务器的查询结果。
域名注册人的电子邮件地址等信息可以通过Whois查询获得。一般域名注册人是中小网站的站长。用搜索引擎搜索Whois查询的信息,获取域名注册人的更多个人信息。
Whois查询方法:
(1) Web界面查询
常见网站包括:
Whois网站管理员之家查询:http://whois.chinaz.com/.
阿里云中国王湾查询:https://whois.aliyun.com/
Whois查找寻找目标网站所有者的信息:http://whois.domaintools.com/.
Netcraft网站报告显示了目标网站使用的技术:http://toolbar.netcraft.com/site_report?. URL =
Robtex DNS查询显示关于目标网站的全面DNS信息:https://www.robtex.com/.
全球Whois查询:https://www.whois365.com/cn/
站长工具爱站查询:https://whois.aizhan.com/
(2)通过Whois命令进行查询
Kali Linux自带的Whois查询工具可以通过命令Whois查询域名信息。
(3) Python写Whois代码。
req _ whois = urllib . request . urlopen(& # 39;http://whois.chinaz.com/doucube.com')print(req _ whois . read()。decode())导入whoisdata = whois . whois(& # 34;www . wangjunx . top & # 34;)打印(数据)示例:
以下是关于使用站长之家Whois查询作者站点(www.eastmountyxz.com)的信息。可以看到网站标题是“张绣学习世界”,网站服务器是阿里云,2021年到期。也可以通过联系邮箱、DNS、域名服务器进行查询。
域名:eastmountyxz.com
注册机构:阿里云计算(北京)有限公司
联系邮箱:domainabuse@service.aliyun.com。
电话:95187
时间:2016年9月24日-2021年9月24日
域名服务器:grs-whois.hichina.com
域名系统:dns10.hichina.com、dns10.hichina.com
然后笔者使用Robtex DNS查询网站相关信息,如下图所示。它添加了IP地址(60.205.24.36)的内容,然后可以通过网站定位物理地址。
IP地址:60.205.24.36
主机名:www
邮件服务器:mxn.mxhichina.com、mxn.mxhichina.com
Netcraft站点报告显示目标网站的以下信息,包括网站构建框架和操作系统。
OS:Windows Server 2008Web服务器:Microsoft IIS/7.5网络拥有者:中国浙江杭州alibaba,西湖国际中心391号
3.备案信息查询
ICP备案是指互联网内容提供商。《互联网信息服务管理办法》指出,网站需要备案,未经许可不得从事互联网信息服务。
IPC备案查询方法包括:
https://www.beian88.com/
http://beian.miit.gov.cn/publish/query/indexFirst.action
https://www.tianyancha.com/
http://www.beianbeian.com/
比如作者和哔哩哔哩网站的备案信息如下图所示:
三.Web站点信息收集
1.CMS指纹识别
CMS(内容管理系统),又称全网站系统或文章系统,用于网站内容管理。用户只需要下载相应的CMS软件包,就可以部署构建,直接使用CMS。然而,各种CMS都有其独特的结构命名规则和特定的文件内容,因此我们可以利用这些内容来获取CMS站点的特定软件和版本。常见的CMS有Discuz、Dedecms、PhpCMS、WordPress等。
常用识别工具:
(1)在线工具
http://whatweb.bugscaner.com/look/
http://www.yunsee.cn/finger.html
he.bgp.net
(2)本地工具
遇见网页指纹识别程序、大禹CMS识别程序(https://github . com/ms0x 0/大禹)等。
示例:
以某站为例,通过http://whatweb.bugscaner.com/look/网站识别指纹,发现是Discuz建的。这些信息包括:
CMS:Discuz!X3.4
Ip地址:210.42.xx.xx
编程语言:PHP
服务器:Apache 2.4.23
操作系统:Windows服务器
实际地址:xxx省xxx市xxx路
Web服务器扩展:OpenSSL
接下来把Github上的大禹下载到本地,用CMS扫描。
2.CMS漏洞查询
对于查询到的CMS,可以使用乌云漏洞库的网站查询制定CMS的漏洞。
http://www.anquan.us/https://bugs.shuimugan.com
显示如下图所示,包括详细的利用过程和预防措施。
3.敏感目录信息
检测目标Web目录结构和敏感隐藏文件非常重要。在检测过程中,后台页面、上传页面、数据库文件甚至网站源代码文件都有可能被检测到。常见的检测工具包括:
御剑后台扫描工具wwwscan命令行工具dirb命令工具dirbuster扫描工具
参考文献:8。用于Web漏洞和端口扫描的Nmap、ThreatScan和DirBuster工具。
17.Python攻防Web目录扫描器和ip代理池的构建(4)
御剑
御剑系列的web工具一直是比较方便的工具。这个御剑也是一个非常有用的网站后台扫描工具,图形化的页面,简单易用,所以也是大多数人喜欢的。它的作者可能是《于坚孤独》。
Dirb
通过蛮力发送请求,找到后会告诉我们找到了。
Kali Linux提供的目录扫描工具DirBuster,支持所有的Web目录扫描方式。它不仅支持网络爬虫扫描,还支持基于字典的暴力扫描和纯暴力扫描。该工具用Ja语言编写,提供两种模式:命令行(无头)和图形界面(GUI)。用户不仅可以指定纯暴力扫描的字符规则,还可以通过URL歧义设置构建网页的路径。同时,用户还可以自定义网页分析的方式,提高网页分析的效率。
4.WordPress测试
WordPress是用PHP语言开发的博客平台。用户可以在支持PHP和MySQL数据库的服务器上建立自己的网站,也可以使用WordPress作为内容管理系统CMS。对于WordPress测试,我们可以使用WpScan工具进行安全测试。
WpScan
例如,要识别https://cn.wordpress.org/’s官网的框架信息,可以调用whatwep命令或在线网站来获取其CMS信息。
如果发现目标网站是WordPress搭建的,那么就用WPScan来检测。
四.端口信息收集
1.港口介绍
如果把IP地址比作房子,端口就是房子的门。真正的房子只有几扇门,但是一个IP地址的端口可以有多达65536(2 ^ 16)扇门。端口用端口号来标记,端口号只是从0到65536(2 ^ 16-1)的整数。
计算机的常见端口号包括:
HTTP服务器默认端口号为:80/tcp(木马执行程序打开此端口)。
HTTPS服务器的默认端口号是:443/tcp和443/udp。
Telnet的默认端口号是:23/tcp(微型Telnet服务器打开的端口)。
FTP默认端口号为:21/TCP(Doly木马、Fore、隐形FTP、WebEx、WinCrash等木马打开的端口。).
TFTP(普通文件传输协议)的默认端口号是69/udp。
SSH(安全登录)、SCP(文件传输)和端口号重定向。默认端口号是22/tcp。
TP(电子邮件)默认端口号为:25/tcp(木马抗原、邮件密码发送者、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放此端口)。
POP3邮局协议(电子邮件)的默认端口号是:110/tcp。
Webshpere应用程序的默认端口号是:9080。
TOMCAT的默认端口号是8080。
MySQL数据库的默认端口号是:3306
Oracle数据库的默认端口号是:1521。
WIN2003远程登录的默认端口号是:3389。
MS SQL*SERVER数据库服务器的默认端口号为:1433/tcp和1433/udp。
每个端口代表计算机中的一个服务,在Windows命令行中使用netstat -ano | netstat -anbo来显示打开的端口。
CMD需要管理员权限才能打开,进入netstat -anbo查看打开的端口。其中,443端口是HTTPS建立的连接,80端口是网站HTTP建立的连接。
2.港口信息收集
可以使用工具来收集目标及其端口状态。工作原理是利用TCP或UDP协议向目标端口发送指定标志位等数据包,等待目标返回数据包,从而判断端口状态。后续作者,准备通过Python写相关代码。
本文主要通过工具收集端口信息,包括:
使用Nmap收集,命令是:nmap -A -v -T4目标。
用masscan采集,命令是:masscan -p80 target。
示例:
检查本地端口的开放情况,命令是:nmap -A -v -T4 192.168.1.1。
使用masscan检测端口开放信息,命令为:mass can-P80 192 . 168 . 1 . 1/24-rate = 10000。
使用工具通常会在目标网站上留下痕迹,然后提供一种在线网站检测方法。
在线网站:http://tool.chinaz.com/port/
威胁扫描在线网站:https://scan.top15.cn/
示例:
用站长之家检测作者网站。端口80打开,端口443关闭。(最早支持多端口扫描,目前只支持单端口扫描。如果读者能自己写程序就更好了)。
接下来回顾前面的文章,用ThreatScan online网站扫描作者的网站信息。
作者真的只开了80端口访问网页和FTP端口。
3.端口攻击
不同的端口有不同的攻击方式,因为每个端口都是录音服务器或者目标系统的闸门。只要打开这个门,你就可以进入目标系统。比如针对远程连接服务端口的攻击方法如下,因为23端口的Telnet远程连接是以明文形式传输信息的,可以通过爆破、嗅探、弱口令等方法进行攻击。
建议我们在扫描目标网站的端口号时,可以在搜索引擎中找到相应的攻击方法进行测试,也可以在乌云漏洞库(http://www.anquan.us/)或CVE库中搜索。例如:
注意:重用CVE漏洞是网络攻击的常用手段。还需要提醒厂商尽快打补丁,用户更新部分软件版本。
4.防御措施
对于端口攻击,只要端口是开放的,可以连接,就可以用相应的方式进行攻击测试。这里提供的防御措施包括:
关闭不必要的端口;
为重要服务的服务端口设置防火墙;
加强员工信息安全意识,经常更换用户密码,避免弱密码爆炸;
经常更新软件,打补丁);它;
利用CVE网站的漏洞信息提高自己网站的安全性。
五.敏感信息收集
对于一些安全目标,无法直接通过技术层面完成渗透测试。在这种情况下,你可以使用互联网上暴露的搜索引擎目标的相关信息。比如通过Git发现的站点泄露的数据库文件、SQL注入、服务配置信息,甚至源代码,以及Redis等未授权访问和Robots.txt等敏感信息,从而达到渗透的目的。
在某些情况下,收集到的信息对以后的测试很有帮助,也很重要。如果通过收集敏感信息直接获得目标系统的数据库访问权限,那么渗透测试任务就完成了一大半。因此,在技术测试之前应该收集更多的信息,尤其是敏感信息。
1.谷歌黑客语法
Google Hack是指利用Google、百度等搜索引擎搜索一些特定网站的漏洞(通常是服务器上的脚本漏洞),以便快速找到易受攻击主机或特定主机的漏洞。常见的方法包括:
Intitle:eastmount搜索页面标题中包含eastmount字符的页面。
login.asp?Id=搜索包含特定字符的文件“login.asp?id为“”的URL。常见的例子有inurl:login.asp,inurl:asp?id=、inurl:login.asp .
英特尔:cbi
搜索其文本内容包含特定字符的网页。
文件类型:ppt
搜索指定类型的文件并返回所有以ppt结尾的文件URL。
网站:百度
查找与指定网站相关联的URL。
谷歌黑客数据库是:https://www.exploit-db.com/google-hacking-database/.
例如,要查询数据访问数据库,请使用filetype:MDB“standard jet”(密码|用户名|用户|通行证)。
2。HTTP响应收集服务器信息。
当通过HTTP或HTTPS与目标站点通信时,目标响应消息中的服务器头和X-Powered-By头将暴露目标服务器和使用的编程语言,通过这些,我们可以有针对性地尝试利用漏洞。
获取HTTP响应的基本方法包括:
使用工具,如浏览器审计工具,BurpSuite,Fiddler和其他代理截断工具来获取。
写Python脚本文件,比如请求库。
参考作者之前的文章:
三。Burp套件工具的安装和配置,代理的基本用法和数据库爆炸的例子。
7.分析Chrome浏览器网络和Python爬虫在Aauto更快下载视频。
14.Python攻防、正则表达式、Web编程、socket通信的基础知识(1)
右键单击浏览器,查看网络中的元素并获取报头信息。
Python的核心代码如下:
import requestsr = requests . get(& # 39;http://www . eastmountyxz . com & # 39;)打印(r.headers)
3.Github信息披露
Github是一个拥有大量开发者和用户的分布式版本控制系统。随着越来越多的应用程序逃向云,Github已经成为管理软件开发和发现现有代码的首选方法。在当今的大数据时代,大规模的数据泄露事件时有发生,但有些人不知道,很多敏感信息的泄露,其实是我们无意中造成的。一个小小的疏漏,就可能导致一连串的连锁筛选。Github上的敏感信息泄露就是一个典型的例子,存在一定的安全隐患。
比如我们可以用Github来查找邮箱配置信息的泄露,这就涉及到一些社会工程。
站点:Github.com tp
站点:Github.com tp @qq.com
再比如通过Github获取数据库泄露信息。
站点:Github.com sa密码
站点:Github.com root密码
site:Github.com用户ID=’sa ‘
通过Github探索SVN信息披露信息。
站点:Github.com svn
站点:Github.com svn用户名
最后,通过Github搜索全面泄露的信息。
站点:Github.com密码
站点:Github.com ftp ftppassword
站点:Github.com密码
站点:Github.com内部
综合泄露信息的例子如下图所示(网络图)。
同样,其他网站信息也可以参考上述方法,推荐你使用谷歌浏览器。当然,更敏感的信息可以通过dirb等工具获取,dirb通过暴力破解发送请求,找到后会发送请求告诉我们。
不及物动词真实IP地址的识别
1.加拿大
CDN的全称是Content Delivery Network,即内容分发网络。原理如下:
一些大型网站在全国各地都有很多用户,这些用户往往会向网站发出不同的请求,所以不同地区会有不同的缓冲服务器来接收用户发出的流量。如果用户发送的流量没有任何交互数据,只是请求首页,此时根据用户所在地区确定访问缓存服务器,缓存服务器会向用户浏览器返回相应的响应,比如广东。
当用户填写数据,需要交互时,请求会发送到真实的服务器;这时真正的服务器是通过广东省的缓存服务器连接的。
CDN通常有一个大流量的网站,用户很多,通过它可以解决我们服务器的瓶颈。
2.判断CDN存在
Ping可用于确定网站上是否有CDN,如http://www.xxxx.com/.
如下图所示,我们可以看到Lily.com有一个CDN。
您还可以通过设置代理或使用在线Ping网站,使用不同地区的Ping服务器来测试目标。
http://ping.chinaz.com/
网站显示的结果如下图所示:
可以看到,使用不同的Ping服务器,响应的IP地址是不同的。不同的监控点有不同的IP地址,可以推断目前网站使用的是CDN技术。
3.绕过CDN
那么在你决定使用CDN之后,如何绕过它呢?如果目标不使用CDN,可以直接使用ping获取IP地址,或者使用在线网站(如http://www.ip138.com)。比如作者网站使用Ping获得的IP地址与在线网站获得的IP地址相同,也说明作者没有使用CDN。
如果目标使用CDN:你需要绕过CDN,去真正的IP地址。该方法如下:
内部邮箱源:收集内部邮箱服务器的IP地址。
网站phpinfo文件:phpinfo.php
分站IP地址,查询子域:CDN很贵,很有可能分站就不再用CDN了。
国外访问:https://a.ca.com/en/ping.php
查询域名解析记录:https://viewdns.info/.
当然还有其他方法,也建议读者尝试学习。
通过国外网站获取IP地址:
通过国内网站获取IP地址(https://viewdns.info/):
4.验证IP地址
通过上述方法获得了许多IP地址。这时候我们需要确定哪个是真实的IP地址。具体方法如下:
利用IP地址对Web站点进行访问,如果正常表名是真实IP地址,否则是假的。
比如输入view-source:123.xxx.xxx.39,表示真实的IP地址。
如果使用其他查询的IP地址42.xxx.xxx.201,则提示错误指示一个假的IP地址,包括之前Ping查询的CDN IP地址。
希望读者可以自己学习更多的方法。同时,绿色电网需要共同维护。本文希望大家了解背后的原理和防御措施,切不可恶意测试他人网站,否则后果自负。
七.总结
希望这一系列文章对你有所帮助,后续作者会继续深入研究,做一些常用的小工具,供大家交流。如果文章对你有帮助,请喜欢,哈哈!加油,以后一起进步。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。