/catalog/296695a3fdd74f71b4ced1996c9b6856//Document/380625301606469.html/Document/376028059926597.html/Document/374587749163077.html/Document/374252417724485.html/Document/373905092177989.html/Document/373540837523525.html/Document/373226847809605.html/Document/311601443917893.html/Document/311285189517381.html/Document/310134890274885.html/Document/309794452426821.html/Document/309507604934725.html/Document/304898482892869.html/Document/304549706600517.html/Document/304188584996933.html/Document/303818784497733.html/Document/302700517105733.html/Document/302416475320389.html/Document/302077848256581.html/Document/301288627347525.html/Document/300279638184005.html/Document/274792263872581.html/Document/273024381308997.html/Document/272683642789957.html/Document/272351623921733.html/Document/271961406242885.html/Document/271560844214341.html/Document/270477420015685.html/Document/269881559916613.html/catalog/c51244b85e704db9a2a34ca396e9fe27//Document/375674108960837.html/Document/340619525128261.html/Document/340263572500549.html/Document/337103780888645.html/Document/336726028042309.html/Document/336395351863365.html/Document/336019384291397.html/Document/334605603291205.html/Document/334264344903749.html/Document/333908786077765.html/Document/333537608929349.html/Document/332422937043013.html/Document/323979240091717.html/Document/323624591507525.html/Document/322518056206405.html/Document/322224629981253.html/Document/321870777405509.html/Document/321154810175557.html/Document/319738524639301.html/Document/319395521761349.html/Document/319038449188933.html/Document/318684198744133.html/Document/317575537291333.html/Document/316584392339525.html/Document/297463116619845.html/Document/296410729726021.html/Document/294281412902981.html/Document/289614801383493.html/Document/289336711553093.html/Document/288989717336133.html/Document/267736666357829.html

安全测试方法介绍(下)渗透测试

安全主要测试方法主要有:静态源代码审查,这个在编码阶段就可以进行,这个阶段如果出现问题,修复起来成本也比较低。程序发布之后可以进行渗透测试。前面的文章中我们为大家介绍了静态源代码审查的方法和策略,接下来本文继续为大家讲解渗透测试

 

【渗透测试】
渗透测试是通过模拟恶意攻击者攻击,来评估系统安全的一种评估方法,从攻击的角度测试软件系统是否安全。使用自动化工具或者人工的方法模拟攻击者的输入,找出运行时刻目标系统所存在的安全漏洞。通过渗透测试可以发现逻辑风险、程序风险、系统风险,像越权访问、文件上传漏洞、目录遍历等问题。


下面是渗透测试部分内容:
身份鉴别管理测试
用户注册过程,弱用户名等
错误配置导致的漏洞
这些是通过互联网提供内部服务和文档,使用“admin”和“user”等默认凭据的情况
弱身份验证
弱密码,密码重用等
授权测试
授权绕过测试,权限提升测试等
会话固定、会话超时测试等
业务逻辑测试
恶意文件上传,请求伪造等


下图是渗透测试的测试流程:首先针对我们的业务系统会制定一个测试方案、确定测试的场景。然后开始信息收集,比如网站的相关信息、登陆的相关信息。接下来通过渗透测试,会发现一些漏洞,进行信息反馈。反馈之后,提升权限再次进行测试,发现系统中的安全漏洞。

渗透测试测试流程

下图是渗透测试的一个漏洞说明,两个截图中的提示文字都是有问题的。左图提示该用户密码错误,请确认后再登陆。右图提示该用户不存在,请确认后再登陆。


这样的提示会很明确地告诉黑客哪部分是错误的,会降低黑客的爆破难度。应该提示“用户名或密码不正确,请确认后再登录”,让黑客不清楚到底错在哪里。

渗透测试漏洞说明

下图是任意文件上传的漏洞,我们看到上传文件的时候,可以上传一个脚本文件,这个脚本文件还可以在这个网站中打开。这其中存在好几个问题,第一个是文件类型没有进行限制,第二个是用户上传文件的路径是不可以执行的,有的甚至都要求不可读。

渗透测试加固建议

任意文件上传加固建议:建议服务端通过白名单的方式限制上传文件类型。

软件安全测试为了避免因为系统自身漏洞给客户、公司集团带来损失;为了数据安全;为了防范黑客而做的测试。


开发人员在想尽一切办法确保(网站,系统)发布时,往往很难构建安全的系统。一个小的配置或部署错误就会破坏整个系统的安全性。系统中会有许多攻击点留给黑客们享用。


一旦发布出去的系统有漏洞,那有可能对用户和公司信誉造成巨大的损失。因此软件安全渗透测试非常重要,是推动安全开发的重要保障措施。