对现代化网站的渗透测试的思考

admin 2022年3月28日01:38:56评论104 views字数 1929阅读6分25秒阅读模式

对现代化网站的渗透测试的思考

渗透测试的思考">对现代化网站的渗透测试的思考


前言


首先定义本文所说的现代化网站. 现代化网站是指符合以下多个特征的对外服务.


  • 储存,数据库,网站程序等服务器高度分离

  • 实现现代化前端技术, 如三大框架, html5新api, websocket

  • 基于虚拟化技术的服务部署

  • 使用现代后端框架,如ssm,think5,gin,django

  • 外部服务高度集成

  • 多种客户端,包括Android,Ios,windows


篇幅有限, 不再列举,但相信读者应该能理解笔者的意思.

不属于现代化网站最典型的例子就是 下载cms,安装lnmp,直接安装网站程序.
现在渗透教程基本都是基于不属于现代化网站的假设(实际上我还没发现基于渗透现代化网站假设的教程)

现代化特征对渗透测试的影响

笔者按自己的思路逐个列举有影响的特征

CDN/反向代理

使用了CDN将会隐藏真实IP, 导致常规端口扫描,弱口令扫描全部失效.
但可以通过寻找真实ip来解决.
反向代理则无解, 甚至可能只把代理服务器暴露于公网.敏感服务全在内网

对绕过CDN这个问题, 已经有了一定的研究.有了安全工具, 如fuckcdn

数据分离

上传文件服务器分离,将导致上传webshell技术失效, 很显然文件服务器是不可能执行webshell的. 上传危害最多只能达到上传html

websocket

之所以专门把websocket作为一点, 是因为感觉websocket属于盲区, burp,浏览器均不支持websocket的渗透测试.

新的h5 api

html5提供了新的api,但是这方面的安全问题还没有被开发人员重视.这个可以从hackone平台上的漏洞报告看出.例如DOM Based XSS in www.hackerone.com via PostMessage 

postmessage这类api的输入是不可控的,如果不进行控制, 就是安全问题


前后端分离


使用三大框架(vue,react, angular)的前端, 对后端进行分离. 也就是不再将url参数直接渲染到html,而通过JavaScript操作.反射xss全部失效,常规储存xss在框架的安全性下也变得渺茫
JavaScript操作带来的xss反而变为主流.这也对渗透测试人员阅读JavaScript代码带来了挑战
也带来了部分好处,由于在前端操作,后端暴露的接口将会更多


后端框架

应用了框架后,简单注入全部失效,csrf部分失效, id=x这种低级注入消失.出现注入的点趋向二次注入, 编码注入. sqlmap是不提供原生支持的

外部服务接入

对某些功能不自行进行开发,使用其他公司的服务.这部分功能的安全性取决与该公司的安全水平, 不过真挖出漏洞就属于通用0day了

由于对接入服务的理解,接入处反而容易出现问题, 比如未预料的异常.(接入开发: ???,这个问题你怎么不在服务上处理.服务开发: ???,这个你怎么不在接入处处理)

多服务端

提供了多平台客户端, 这就对渗透测试多平台渗透能力发出了挑战
不但要会web,还要会安卓/ios渗透测试, 反编译(客户端总是会有一些未公开的api).甚至还有IOT

风控

好的风控系统 基本阻止了邮箱/短信轰炸.对需要爆破的漏洞也降低了危害

无服务器

Sass(系统即服务), Fass(函数即服务)等各种服务公司不断涌现,  不需要购买服务器就能进行服务.可能出现刚拿下shell,想内网渗透,发现实际上服务是在某Sass上.或者发现服务api是在Fass上的,根本没有服务器

虚拟化

docker提供了优秀的服务分离,就算拿到了shell,也只是拿到了容器的shell. 容器虚拟化不一定安全,但是现在对这方面的研究还不是很多, 完全没有对绕过UAC的研究多

对安全教程的思考

现在一些安全教程还是停留在旧时代, ' and 1=1,
</x><script>alert(1)</script>固然是基础,挖掘思路也很重要.
但是随着技术的发展, 渗透和开发技术也会走的更近, 新开发技术的爆发式增长,不可能像列中间件漏洞一样全部写出它们的渗透技术.就算有人写出来等写出来黄花菜都凉了。


安全教程应该更强调编程, 而不是培养只会用扫描器的驻场工程师.令人欣慰的是现在年轻的渗透测试人员大部分都会编程,还不止一门(就笔者

圈子来看)

对安全工具的思考

扫描器

随着技术的扩散,老式扫描器未来会面临失效.不支持浏览器模拟,只会抓a标签的扫描器, 对前后端分离无能为力. 基于流量和基于爬虫的扫描器会合并, 走向模拟获取流量进行扫描的模式
对app的扫描器目前不支持对web的渗透测试.

尾言

现在正是承前启后的时代,旧的开发技术未被淘汰,新的开发技术正在发展, 谁会在这个时代引领潮流, 或是被淘汰.让我们拭目以待


对现代化网站的渗透测试的思考


本文始发于微信公众号(疯猫网络):对现代化网站的渗透测试的思考

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月28日01:38:56
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   对现代化网站的渗透测试的思考http://cn-sec.com/archives/511001.html

发表评论

匿名网友 填写信息