隐藏注入点(HIDDEN隐藏字段缺陷)

1:还是SQL注入问题。

目前SQL注入工击仍是入侵中的一大热点,不过随着时间的推移,一般的大型网站程序都已经将明显的注入点打好补丁拉,但是一些隐藏的比较深的注入点却还是有不少的,除非将它所有的代码都翻新一片。

明显的注入点如:.asp?id=*,输入框等都已经过滤了,但这就能彻底的杜绝黑客的入侵吗?回答当然是NO 这就要提到本文的重点HIDDEN隐藏字段拉。

某网游官方站点的帐号激活界面,查看源码,搜索"HIDDEN"字符串

< form action="index_game.asp" method="post" name="form1" target="_blank" onSubmit="return active_go();">
...
< td height="25" align="center">
< input type="submit" name="Submit" value="提交">
...
< /form>
看到了吗那个:只要它没有在客户端做任何限制,这就是一个注入点拉,将"user_name"的值"norfolk"改为想要注入的代码,然后和前面的一样将"ACTION"的改为相应的URL,保存为HTML文件~~~~~~~~~

不过,它的安全还不错,提交后返回错误提示窗口,很显然它在服务端禁止了外部提交。

2:非法修改其他用户密码。

典型的代表是leadbbs V2.77的那个密码修改漏洞:任何注册用户都可以修改管理员密码,从而入侵服务器,进而拿下主机。

登陆后修改密码,查看源码,其主要漏洞代码如下:


.......
< form action=usermodify.asp method=post name=form1 οnsubmit="submitonce(this);return validationpassed">
< tr>
< td align=middle height=25>
< p>*用户名称:
< td height=25>
< p>norfolk
< tr>
< td align=middle height=25>
< p>*你的密码:
< td height=25>
< input class=fminpt name=submitflag type=hidden value=52norflk>
< input class=fminpt name=form_id type=hidden value=265>
........
其中我的from_id的值为265,在管理员例表中查看管理员ID,然后将它替换265,再将ACTION的URL相应的修改一下保存为HTML文件再提交就可以将管理员的密码改成52norfolk。
这个漏洞早在2003.12月就已经公布,这里在拿出来只是为了说明一下这个HIDDEN隐藏字段的危害。不过我发现目前还是有不少程序可以任意修改其他用户的密码,至于方法如出一辙,(偶用这个漏洞拿下过不少站点的ADMIN):-_-

3:任意修改价格以达到低价甚至不花一分钱网上购物。

早在几年前国内国外的一些大型网上购物网站就已经出现过类似的漏洞。 这些网站的后台程序的验证机制并不健全以至可以在外部提交数据,于是便出现了低价甚至不花一分钱购买商品的事件,导致这些网站造成重大的经济损失,由此观之,网络安全是马虎不得的,即使一丁点而问题,造成的损失也是不可估量的。希望之后的程序员在编写程序时能够尽量细心。这里我就不再将它的利用过程写出来了,反正它们的利用过程都基本相似。

最后给大家介绍老外写的一个不错的检测WEB应用程序安全性的工具,一下是安全焦点的介绍:

Achilles是一个设计用来测试web应用程序安全性的工具。它是一个代理服务器,在一个HTTP会话中扮演着"中间人"(man-in-the-middle)的角色。一个典型的HTTP代理服务器将在客户浏览器和web服务器间转发数据包,但Achilles却载取发向任一方的HTTP会话数据,并且在转发数据前可以让用户修改这些数据. 相信在WEB入侵方面可以为您提供不少的帮助,如果有可能下次再专门写篇文章介绍它吧,这里我就不多说了,有兴趣的朋友可以自己下载研究研究,它的下载地址:http://www.xfocus.net/tools/200403/achilles-0-27.zip

后记:

到这里还是说一下解决方法吧。

首先当然是禁止外部提交,这里有种不错的方法,大家可以参考参考:

<%
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(server_v1,8,len(server_v2))<>server_v2 then
%>
你想入侵我也不要这么麻烦嘛,直接打电话告诉我,我给你开WEBSHELL,呵呵

<%
Response.Redirect "Fuck-Hacker.asp"
end if
%>
但这不能彻底杜绝黑客对传递的DIDDEN数据的修改,前面那个ACHILLES就能修改,所以在服务端还要有健全的验证机制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值