国内网站大多存在的安全问题、

本文通过实例展示了如何绕过仅在客户端进行的JavaScript文件类型验证,揭示了这种验证方式的安全隐患,并提出服务器端验证及防范远程提交表单的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        今天偶然进了一个挺大的网站、

        当时注册了一个帐号、随即登录进去、

        随便进了几个页面、做的还不错、

        接着、系统提示我上传一张头像、

        我就照办、然后弹出了一个模式窗口、

        点击右键、查看源代码、javascript验证写的不错、

        文件类型已经限制了、只允许.jpg和.gif

        但是javascript是运行在客户端的、用户可以屏蔽、

        而且技术高点的可以远程提交表单啊、

        随即、我将部分代码拷贝出来、新建了一个html页面、

        去掉js验证、将多余的代码也干掉了、

   以前的提交地址是:form action="admin_pic_upfile_3.asp"

        以前的是相对路径、现在改成绝对路径、

        form action="http://www.XXX.net/upload/admin_pic_upfile_3.asp"

        在本机打开页面、选择一个文件、点击上传、

        果真提示上传成功、我上传的是一个txt文本、

        想必、asp木马也可以上传吧、虽然上传成功了、

        但没办法知道上传成功的文件的URL、无法访问到资源、

        郁闷、随即一个不小心、又查看了一下源代码、

        是一段JS代码、也是这一段JS代码、成为了致命的漏洞、

   <script language="javascript">alert("上传成功");window.opener.del();window.opener.jf.innerH          TML="10";window.opener.document.face_pic.src="/face/200911/28/small/20091128390168          81.jpg";window.close();</script>

        将文件的存放路径暴了出来、接下来也不用多说了、

        其实不止这一个网站有这个问题、国内大多数网站都存在这个问题、

        一些大网站还是做的很好的、在提交表单的时候、特别加了随机数、

        避免远程提交表单、或者加了验证码、

        所以提醒大家一点、在写登录和注册以及一些安全系数比较大的功能时候、

        一定要防止用户远程提交表单、否则一旦被攻击、损失是很大的、

        还有一点就是、处理上传的问题的时候、尽量在服务端验证用户选择、

        不要用JS验证、因为这样是很不安全的、

        呵呵、以上我本人总结的、写的不好、不要见谅、by:xluo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值