web渗透过程

一:确定目标

    明确要攻击的网站

 

二:情报收集

(1):网站的注册信息,可以使用whois或站长之家查,可能有敏感信息。

(2):通过收集子域名信息,作为渗透对象,以此为突破口,攻下整个服务区上的站点,乃至一个集群(因为一台服务器上有很多站点,且主站往往是重点保护对象,当我们对某一站点无法直接进行渗透的时候,可以通过其他站点进行渗透)。

(3):利用通过错误页面等方法获得web服务器系统类型(使用nmap工具)、Web服务软件(中间件)、数据库、Web开发语言,再测试查看存在哪些漏洞:

1-手工检测收集:

    XSS跨站脚本漏洞检测:在网页的输入点输入<script>alert(‘xss’)</script>,若存在弹窗则证明存在XSS漏洞;

上传漏洞检测:找到上传文件的地方,试着上传一个可执行文件,若可以上传,则说明该网站存在上传漏洞;

文件解析漏洞检测:在url中,在文件夹目录下输入带有.asp等可执行脚本文件后缀为后缀的文件夹,或输入类似xx.asp;.jpg,看其是否执行,执行则存在文件解析漏洞。

文件包含漏洞检测:当URL中包含有‘?变量=XXX’字眼时非常有可能是程序通过include将文件XXX包含进来了,此处就可以测试是否有文件包含漏洞,通过尝试更改调用路径  ?page=file:///etc/passwd ,若还能出现正常页面,正常调用则存在文件包含漏洞。

绕过限制上传漏洞:尝试在URL中输入类似shell.asp.jpg,看是否能上传成功,若可以则存在绕过限制上传漏洞。

命令执行漏洞:例如在一个调用ping命令的表单中输入一个ip地址,系统会将ping这个IP的结果返回,此时可以尝试在表单中输入'1.1.1.1;ls',如果系统过滤不严则后面的ls也将被执行,则存在命令执行漏洞,构造命令时可能会用到的手法:“;,&&,&,||,|”

SQL注入漏洞检测:在URL后面输入 and 1=1 或者 and 1=2回车,如果还是能够正常登录此网页,而没有提示“非法字符”或者提示“非法字符”等类似的字样就说明此网站能够SQL注入。

  1. 工具检测收集:若手工检测不出来,利用WVS工具进行扫描

 

三:利用漏洞进行web渗透攻击

XSS跨站脚本漏洞利用:输入带有Cookie窃取,会话劫持,钓鱼欺骗等各种各样的攻击的恶意代码或者一个带有恶意HTML/JavaScript的url链接

上传漏洞利用:在注入点上传具有恶意功能的脚本文件

绕过限制上传漏洞利用:绕过黑名单:找到忽略的扩展名、扩展名的大小写转换、截断%00等。白名单:配合解析漏洞上传类似shell.asp.jpg,本地js验证:浏览器禁用JS功能。MIME验证:通过利用抓包改包工具BURPSITE来修改数据包,修改content-type类型为image/jpeg

即可突破上传。

命令执行漏洞利用:通过直接输入例如:ping 192.168.1.1&&net user直接执行系统命令,通过在Web服务器绕过限制上传脚本文件,脚本文件内容是执行系统命令,然后通过输入例如:(<?PHP SYSTEM(“dir”)?>)通过执行脚本语言来间接执行系统命令。

文件解析漏洞利用:通过根据各种数据库存在的文件解析漏洞,配合上传漏洞,并执行恶意脚本,如IIS存在目录解析漏洞:在网站下建立文件夹的名称中带有.asp、.asa等可执行脚本文件后缀为后缀的文件夹,其目录内的任何扩展名的恶意文件都被IIS当作可执行文件来解析并执行:http://www.xxx.com/xx.asp/xx.jpg,文件解析:在IIS6.0下,分号后面的不被解析,也就是说6.0下,分号后面的不被解析,也就是说恶意文件xx.asp;.jpg,将被当做xx.asp解析并执行 :http://www.xxx.com/xx.asp.jpg

文件包含漏洞利用:本地文件包含漏洞,包含的文件在本地服务器上:如http://10.1.131.10/dvwa/vulnerabilities/fi/?page=cn.php调用恶意脚本。远程文件包含漏洞,包含的文件在其他服务器上:如http://10.1.131.10/dvwa/vulnerabilities/fi/?page=http://10.1.131.10/dvwa/hackable/uploads/phpinfo.txt调用恶意文件

SQL注入漏洞利用:

1,-首先查看是否存在某个表,如是否存在admin表,命令为:

and exists (select * from admin)回车,如果还是正常显示此网页,证明数据库中存在admin表,那么管理员账号和密码一般都存在与这个表内。

2-后进一步猜测表中的其它项是否存在admin、username、password列。命令为:and exists (select admin from admin)或and exists (select username from admin)回车后如果提示不存在则表示表内没有此列,如果没有任何提示还是正常进入当前页面

则说明该表有此列。

3-判断字段长度:命令为:order by 后跟数字,通过该命令知道表中有几列项。

4-联合查询,查看出错的字段。union select 1,2,3,4,…….. from admin

5-将出错的字段替换成我们已经查到的列项,比如password,username,回车,就能发现出错字段变成了数据库admin表中用户名,密码这两个列的内容。到此我们就获取了管理员的用户名与密码。

补充:

WAF是由多种安全策略而实现防护的:

1.增强的输入验证:代理和服务器端验证,而不仅仅是客户端验证

2.白名单和黑名单

3.基于规则和基于异常的保护:基于规则的更依赖黑名单机制,基于异常则更灵活

实现绕过:

1、当我们在目标URL进行SQL注入测试时,可以通过修改注入语句中字母的大小写来绕过WAF保护。如果WAF使用区分大小写的黑名单,则更改大小写可能会帮我们成功绕过WAF的过滤。如:http://target.com/index.php?page_id=-15 uNIoN sELecT 1,2,3,4

2、关键字替换(在关键字中间可插入将会被WAF过滤的字符) – 例如SELECT可插入变成SEL<ECT,一旦插入字符被过滤,它将作为SELECT传递。如:http://target.com/index.php?page_id=-15&nbsp;UNIunionON SELselectECT 1,2,3,4

3、在攻击字符串中插入注释。例如,/*!SELECT*/ 这样WAF可能就会忽略该字符串,但它仍会被传递给目标应用程序并交由mysql数据库处理。

如:index.php?page_id=-15 /*!UNION*/ /*!SELECT*/ 1,2,3

 

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值