当前位置:七道奇文章资讯安全技术网络技术
日期:2010-01-10 11:46:00  来源:本站整理

为什么hzhost只能在域名管理这里举行注射[网络技术]

赞助商链接



  本文“为什么hzhost只能在域名管理这里举行注射[网络技术]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

根源:叉叉兵 

比方ftp管理.mssql管理等等地方,都不能注射.大概有的朋友对比奇特了.我拿了个shell,看到了源码.所以本日来给大家解析解析.. 
D:/hzhost/hzhost_conpanel/domain/login.asp就是login.asp存在注射. 
我们来看他代码是若何写的. 

引用: 
码片段. 
<% 
’session.timeout=20 
ifok=0//ifok=0时表示系统保护中,不可登录  
d_dme=trim(request.form("domainname")) //直接从表单就获得了用户名字.仅去掉空格.所以产生漏洞
   d_pss=trim(request.form("domainpass"))  
   session("xinnetdomainpwd")="" 
   d_pssin=d_pss 
   dnme=d_dme 
   chk_usrpss d_pss,"域名密码",4,16   //这里是一个检测.这个chk_usrpss函数检测字符长度.最少为4位,最大为16位.不然就报错! 
d_pssmd5=md5(d_pss) 
substrContent = "entryclass:sys2_mng"&Vend 
substrContent =substrContent& "entrytype:getincode"&Vend 
substrContent =substrContent& "entryuser:"&entryuser&Vend 
substrContent =substrContent& "entrypass:"&entrypass&Vend 
substrContent = substrContent & "pnlmod:getincode"& Vend 
substrContent =substrContent& "agentname:"&agentname&Vend 
substrContent = substrContent & "keywords:" &d_pss& Vend 
substrContent = substrContent & "." & Vend 
wstr=hzsocket(substrContent) 
d_pssincode=wstr 
query="select * from dmelst where d_dme=’"&d_dme&"’"   //这里直接丢到sql语句里面开始了查询.所以漏洞产生了! 
rs.Open query,conn,3,1 
if rs.RecordCount <>1 then 
rs.close 
我们再看看mysql登陆的页面代码.位置在D:/hzhost/hzhost_conpanel/mssql/login.asp 

引用: 
<% 
’session.timeout=20 
ifok=0//ifok=0时表示系统保护中,不可登录  
   sq_nme=trim(request.form("mssqlname")) //我们可以看到.还是一样的没有过滤. 
   sq_pss=trim(request.form("mssqlpass")) //密码也没过滤. 
   chk_usrpss sq_nme,"数据库名称",4,20   //注意此行.由于多了这一行.招致sql注射漏洞被过滤了. 
   chk_usrpss sq_pss,"数据库密码",4,16 
   substrContent = "entryclass:sys2_mng"&Vend 
substrContent =substrContent& "entrytype:getincode"&Vend 
substrContent =substrContent& "entryuser:"&entryuser&Vend 
substrContent =substrContent& "entrypass:"&entrypass&Vend 
substrContent = substrContent & "pnlmod:getincode"& Vend 
substrContent =substrContent& "agentname:"&agentname&Vend 
substrContent = substrContent & "keywords:" &sq_pss & Vend 
substrContent = substrContent & "." & Vend 
wstr=hzsocket(substrContent) 

   sq_pss=md5(wstr) 
query="select * from v_sqllst where sq_nme=’"&sq_nme&"’" //举行查询 
conn.open constr 
rs.Open query,conn,3,1 
if rs.RecordCount <>1 then 
call errorpage("对不起,不法登录,请返回!(106)") 
else 
      db_sq_pss=trim(rs("sq_pss")) 
   sqid=rs("sq_id") 
   sq_prd=ucase(trim(rs("sq_prd"))) 
   sq_sst=rs("sq_sst") 
end if 
rs.close 
还有mysql/login.asp ,mail/login.asp等等就不解析了,代码都一样.看了代码.多出的这一行就禁止了sql注射. 

引用: 
chk_usrpss sq_nme,"数据库名称",4,20 
我们再来看看chk_usrpss毕竟是怎么写的.它在D:\hzhost\hzhost_master\incs\config.asp中! 

引用: 
’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’用户名和密码

[1] [2]  下一页


  以上是“为什么hzhost只能在域名管理这里举行注射[网络技术]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 为什么hzhost只能在域名管理这里举行注射
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .