前言:WEB源码在安全测试中是非常重要的信息来源,可以用来代码审计漏洞也可以用来做信息突破口,其中WEB源码有很多技术需要简明分析。比如:获取某ASP源码后可以采用默认数据库下载为突破,获取某其他脚本源码漏洞可以进行代码审计挖掘或分析其业务逻辑等,总之源码的获取将为后期的安全测试提供了更多的思路。
1、知识点
- 1.关于WEB源码目录结构
- 2.关于WEB源码脚本类型
- 3.关于WEB源码应用分类
- 4.关于WEB源码其他说明
知识点
#数据库配置文件,后台目录,模版目录,数据库目录等 #ASP,PHP,ASPX,JSP,JAVAWEB等脚本类型源码安全问题 #社交,论坛,门户,第三方,博客等不同的代码机制对应漏洞 #开源,未开源问题,框架非框架问题,关于CMS识别问题及后续等 #关于源码获取的相关途径:搜索,咸鱼淘宝,第三方源码站,各种行业对应 #总结: 关注应用分类及脚本类型估摸出可能存在的漏洞(其中框架类例外),在获取源码后可进行本地安全测试或代码审计,也可以分析其目录工作原理(数据库备份,bak文件等),未获取到的源码采用各种方法想办法获取!
1.关于WEB源码目录结构
举例说明,下图是某个网站的源码目录结构,包含以下关键信息:
- 网站的脚本类型---php脚本---从index.php判断出
- 网站的管理后台目录---admin目录
- 网站的数据---data目录---包含数据库配置文件config.php
- 其他---template模板目录、member会员相关文件
2.关于WEB源码脚本类型源码安全问题
下面这个地址,收录了很多语言框架相关的安全问题,请课后自学
- https://websec.readthedocs.io/zh/latest/language/index.html
3.关于WEB源码应用分类
社交,论坛,门户,第三方,博客等不同的应用,对应的漏洞也不尽相同,可以根据业务不同,重点关注相关漏洞,放弃无关漏洞,节约时间。
4.关于WEB源码其他说明
框架开发---直接找脚本语言框架的漏洞
非框架开发---找代码的漏洞
CMS识别(网上开源代码)---如何判断是用什么程序搭建的(人工和工具,工具就是扫描某CMS特有程序文件来判断)---网上公开漏洞
开源---能识别并且在网上下载(白盒)
内部---没有源码或不知道---常规的渗透测试(黑盒)
源码获取---扫描工具扫描备份文件---cms获取源码---特定渠道(灰色网站源码)
源码获取的相关途径,包括 搜索引擎搜索,闲鱼淘宝,第三方源码站(菜鸟源码),各种行业对应(源码之家,站长下载)。
2、演示案例
1.ASP,PHP等源码下安全测试
(1)平台识别-某 CMS 无漏洞-默认数据库
打开漏洞平台
选择8003----搬家公司ASP注入 漏洞环境,打开对应网站
在网站的最下面看到了关键词XYCMS
去网上尝试下载XYCMS源码,下载后,在本地打开,源码目录如下
xydata目录下有一个xycms.mdb文件,mdb文件是asp特有的数据库表格文件,打开后,可以找到管理员密码。
此时我们尝试在浏览器访问该路径,可以成功下载测试网站的xycms.mdb
打开xycms.mdb文件,找到真正的用户名密码
此时访问网站的后台,使用该用户名密码成功登录
这里主要是因为测试网站没有修改默认的网站源码结构(包括数据库文件名称、位置等),使攻击者可以轻易下载数据库文件,并登录后台。
(2)平台识别-某 CMS 有漏洞-漏洞利用
选择8006漏洞环境,,打开对应网站
在网站的最下面看到了关键词MetInfo
直接百度搜索相关漏洞
根据相关漏洞进行有针对性地攻击
(3)CMS指纹识别
<1>网上有CMS指纹识别字典,可以下载
<2>这个指纹一般是网站logo文件的md5
下载logo文件并且查看MD5----一般为网站的ico文件(favico.ico)
certutil -hashfile filename MD5
将MD5 的值复制粘贴在CMS指纹识别字典中匹配,如果匹配,就是CMS的模板。
<3>网上也有在线指纹识别平台,比如
https://www.yunsee.cn/
http://whatweb.bugscaner.com/
2.源码应用分类下的针对漏洞
(1)niushop 电商类关注漏洞点-业务逻辑
在购买商品时,抓包,将购买数量改为-1
点击下一步,下一步,最终到达付款界面,发现付款金额变为-1000
最后应付金额变为0,不付钱,便可以买到商品
3.简要目标从识别到源码获取
本地演示个人博客-手工发现其 CMS-漏洞搜索或下载分析
http://weipan.1016sangshen.cn/ 内部搭建的靶场
人工爆框架-搜索特定 url-获取其他相符站点-漏洞测试
借助特定行业源码或咸鱼进行搜索获取-本地搭建-代码审计或其他
举例:
搜索测试网站特定 url,获取其他相符站点
3、涉及资源
https://cnmom.com/ 域名注册
https://www.yunsee.cn/ 云悉指纹
http://whatweb.bugscaner.com/ 在线CMS指纹识别
https://w.ddosi.workers.dev/ 打不开
https://github.com/M4tir/Github-Monitor Github RCE/0day监控系统
https://github.com/Lucifer1993/cmsprint CMS和中间件指纹库
https://websec.readthedocs.io/zh/latest/language/index.html web安全学习笔记-语言与框架