asp程序漏洞,如何挖掘ASP程序漏洞

如何挖掘ASP程序漏洞 - 网络安全 - 电脑教程网

如何挖掘ASP程序漏洞

日期:2007-01-10   荐:
作者:宿心劫 火狐技术联盟见习成员

最近小组的人都在拼命的看源码找漏洞,我也没闲着,就随便下载了个东西看看。
打开仿阿里巴巴的电子购物系统 Access版(老版本了,但仍居下载榜首),在Admin文件夹下找到了login.ASP和passWord.asp两个文件,代码写的很差,这是给我的第一个感觉。以下是我摘出来的敏感代码
login.asp:

<%if session("username")="" then%>
<%
else
set rs=Server.CreateObject("ADODB.recordset")
sql="select * from qyml where uflag=0 order by id desc"
rs.Open sql,conn,1,1
if not rs.eof and not rs.bof then
%>

password.asp:

<%
if session("userid")="" then
response.redirect "login.asp"
response.end
end if
%>
<LINK href="http://www.juntuan.net/Article/hkjc/ldyj/200501/style.css" rel=stylesheet type=text/Css>
<%
if request("action")="edit" then
call save()
else
call edit()
end if
rs.close
set rs=noting
sub edit()
userId=Session("UserId")
set rs=server.createobject("adodb.recordset")
sql="select * from company where userid='"&userId&"'"
rs.open sql,conn,1,1
%>

<%end sub
sub save()
set rs=server.CreateObject ("adodb.recordset")
sql="select * from company where userid='"&session("userid")&"'"
rs.open sql,conn,3,3
rs("password")=request("password")
rs.update
response.write"<br>"+"用户密码修改成功,请[<a href=login.asp><font color=#ff000>返回管理首页</font></a>]"
end sub
%>

这里不难看到编写的代码满是洞,一本地验证可绕 二SQL注射漏洞这个系统全身都是。三这个商务系统有上传文件漏洞。四也是目前最恐怖的,因为版本太老,密码居然没有加密。

接下来是找个站点测试一下我们的发现,打开Aboutus.asp,我们从中找取有用的信息。在百度输入关键字"是世界上最大的B2B贸易型网站之一"或者"您使用网站所提供的在全球企业间(B2B)电子市场中进行贸易和交流的各种工具和服务",就能找到一大堆网站。

我选取其中一个为例。(假地址)
http://www.XXX.com/ 注册会员后,在会员管理页面会有个上传企业图片选项,该怎么利用,我不废话了。后来也发现两个严重漏洞,在广告服务管理→黄金版面广告→添加。备份数据库功能开启。(注:以上操作根本连验证都没有) 。
接下来讲讲注射,http://www.XXX.com/spzs/Show_product.asp文件为例,先提交一个单引号,返回提示错误页面,接着提交and 1=1返回正常,再提交and 1=2又提示错误,表明可以注入。

总结

以上系统漏洞一点新意都没,算是做为新手的教材。整个漏洞的发现过程只是要提醒大家在找洞时,看源码还是有必要的,这样我们能更清楚的分析。
由于系统是电子商务程序,网站大多是商业站点,希望大家不要搞破坏,后果自负。


终于完成了我的文章,写得很没意思,没新意是主要的,但也为国内网站的安全担忧。这套程序本来就很差,又几经他人改写,版本较多,可是普遍仍然不安全。希望那些程序员以后多注意!

(出处:http://www.sheup.com)




标签: