| |
动网的洞again
|
日期:2004年3月23日 作者:清风网络学院
查看:[大字体 中字体
小字体]
|
论坛登陆名: N.E.V.E.R 提交者邮件地址: n.e.v.e.r@tom.com 提交者QQ号码: 1143431 标题: 动网的洞——again! 版权:文章属中华安全网http://www.safechina.net和作者共同所有,转载请注明出处!! 内容: 捏脸的超人@2003.6.8
我不是布勃卡,如果我能一次把世界记录提高十几厘米,我绝对不会分十几次去做,但是文件只有一个一个地看,洞只有一个一个地找,所以,呵呵…… 昨天答辩完后心情很好,美美的睡了一觉后起来准备上网,可是开机后不到两分钟机器就挂了。Faint!这破笔记本去年夏天也是这样,室温超过30度就TMD的罢工,南京这几天够呛,本来我还指望它撑到放假的。我也懒得急了,收拾收拾东西到学校去上机。 在学校上网先玩了会儿CS,被人打得郁闷,干脆扯乎。safechina这些常去的地方又没有更新,chinaren校友录上又是乱七八糟的,还不如看看动网的论坛。 看啊看啊,看到了MYMODIFY.ASP,按照一向的习惯,先找生成SQL语句的地方,因为SQL Injection总是发生在这种地方。嗯,看看这里:
conn.execute("update [user] set face='"&newfilename&"' where userid="&userid)
userid我就不看了,看看newfilename有没有过滤。向上查找newfilename,嗯,看到了:
newfilename="uploadFace/"&memberid&"_"&upfilename(1)
memberid我也不看了,找upfilename,还是在很近的地方,是这样的:
upfilename=split(upface,"/")
再找upface,也是在不远的上面:
set rs=conn.execute("select userid,face from [user] where userid="&userid) upface=trim(rs(1))
不用看下去了,都没有过滤,应该是个洞。动网的大虾们对不感兴趣的东东是不会浪费时间去过滤的,比如要入库的face,现在需要的只是利用的方法。 最容易想到的是先弄一个畸形的face存到数据库里面,然后让这一段程序去读出face来生成我们希望的SQL语句。在这之前,好好的看一下conn.execute之前的代码。 哦,前面的if语句很多啊,要一个一个的顺利通过的话,需要的条件很严格……首先要upface里面只含有一个"/",其次必须要以"uploadFace/"开头,还不能含有"_",嗯,不好办啊……我赶快用脚趾头想了几秒钟,有两条路可以走吧。一、update来改管理员表,获得一个管理员的权限,上传文件,最近是有一个什么include的溢出是吧,不知道能不能用;二、调用存储过程,不过要看对方的配置怎样了。 如果是漏洞文章,写到这里就要打住,嗯,我觉得动手能力是很重要的,所以还是找了个地方测试一下,善意的,当然。 先来想想怎样可以满足那些条件,我先找了台机器测试我的想法,不就是不要包含"_"嘛。打开SQL的查询分析器,先来这个
declare @a sysname set @a='master..xp'+char(95)+'cmdshell' exec @a 'echo t>a.bat'--
嗯,好的,没有下划线。C:\winnt\system32下面多了一个a.bat文件,呵呵。赶快找到有漏洞的那一页(登陆->修改个人信息),先随便上传一个文件,然后在自定义头像地址中填入我们的“恶意”语句。 这里打住一下啊,自定义头像地址是有长度限制的,我不知道是不是就是face列的最大长度(估计是的),为了避免提交的语句被截断,我没有敢提交超过长度的字符串。嗯,看来要节省一点使用了,我先看了看最长能有多少。
uploadFace/1';declare @a sysname;set @a='master..xp'+char(95)+'cmdshell';exec @a'0123456789123456'--
上一篇:dvbbs绝对背后的微笑
下一篇:详细介绍六个免费发短信网站
|
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.abcdown.net
| |