关于项目安全测试的点滴事件
对网络安全感兴趣,测试公司项目的时候常常忍不住测试一下安全情况。就把半年前的工作中一些有趣的工作笔记发一下。just for fun。
记录一下公司里几个有趣的项目。也展示一下没有安全测试的项目质量如何。
下面是几个,比较常见的,漏洞水平也比较低的情况。高手飘过吧。
主要是注入,跨站,编码,上传的demo。
我是新手,希望和大家交个朋友,多多关照。共同学习。呵呵。
1、国内的xx项目,我直接进入登陆界面,在用户名处输入任意存在的用户名,密码输入' or ''=' 。
结果:直接进入了。万能密码。呵呵。
再次进入登陆界面,用户名和密码都输入' or ''='。
结果:进入系统的后台管理界面。
上面的两条只是一个引子,可以通过编码构造出更厉害的语句。灵活的很。
2、公司的xxx系统。拿来练手的,个别地方存在跨站漏洞,在一个输入组名的地方输入 "><script>alert("存在跨站啊,")</script>。
任何进入系统的人,只要查看分组,就会弹出一个对话框。
如果输入 "><script>window.open(xxxx)</script> ,就可以让浏览者自动弹出网页。
我当时输入了一个自动跳转。结果,一查看分组,就会被定向到baidu。导致了一上午没有办法测试。当然可以先删除这个分组,方法是有的。比如禁用脚本就可以去删除那个存在问题的分组了。
这样的漏洞,只有低级的项目才有,只是举个例子,跨站当然不会这样简单。有很多的高级技巧。
3、国内的xxx项目,在查询的时候,直接输入xxxx' or 1=1 or '%'='% 就可以查询到所有的记录。存在注入漏洞。
花点时间,进行union查询,应该可以猜解出数据库中的所有记录。呵呵。包括其他用户,或者管理员的用户名和密码。
个别系统更强悍,输入’就崩溃了。
注入也不会如此简单,只是举例而已。高级的注入方式很多。通过编码就可以绕过很多的注入过滤。
4、全角与半角问题,个别系统无法区分全角的字符和半角的字符。如果仅仅通过用户名判断的话,那么admin与admin是一样的。
所以,注册一个同名的全角的用户名,常常会有意外的收获。
同样的时候,admin\xc1xx这样的编码也可以差生很多的混淆的。注意\xc1是一个十六进制为C1的字符,最近的phpwind爆出的管理员权限克隆漏洞就是和这个有关的哦。
5、公司的xxx项目,采用c/s模式。不过是基于webservice的。通过数据监听就可以监听到程序要连接的资源文件,用浏览器打开,网站目录竟然允许浏览。找找有没有什么敏感的资料,呵呵。比如数据库之类的东西。
同时在客户端的图形界面操作过程中捕获数据包,就会发现,关于一些文件上传的操作时,会爆出文件的服务器地址。如果加上../../的方法,也许可以写到任何地方哦。
公司的xxxxxxx系统,具有上传功能。网站是jsp的。如果我上传一些jsp后缀的文件会发生什么事情啊。比如,上传一个可以查看系统文件的脚本文件,可以修改数据库的文件。还有上传漏洞。以前挺火的。不过现在的开发人员常常是会忽略的。
测试的时候也不是这么简单,需要读代码,没有代码就只能猜测摸索了。测试方式肯定也不会如此简单。要多样的很。
还有更多。。,先写这些吧。呵呵。
其实安全测试也是非常重要的。只是一般的公司很少去做,导致了很多的让公众惊讶的其实并没有什么技术含量的所谓的”黑客事件“的发生。 和我真像
做功能测试,总是忍不住去做安全测试
结果发现了很多密码,目录,权限,跨站点的很多安全问题 这个文章写得内行, 可以继续深入写,期待楼主继续分享 强人
页:
[1]