web源码拓展
Web源码拓展
前言
Web源码在安全测试中是非常重要的信息来源,可以用来代码审计漏洞也可以用来做信息突破口,其中Web源码有很多技术需要简明分析。比如:获取某ASP源码后可以采用默认数据库下载为突破,获取某其他脚本源码漏洞可以进行代码审计挖掘或分析其业务逻辑等,总之源码的获取将为后期的安全测试提供了更多的思路。
关于Web源码目录结构
据库配置文件,后台目录,模板目录,数据库目录等
index.php 根据文件后缀判定
admin 网站后台路径data 数据相关目录
install 安装目录
member 会员目录
template 模板目录(和网站相关的整体架构)
data => confing.php 数据库配置文件,网站和数据库的通讯信息,连接账号密码,可以去连接对方数据库,从数据库去得到这个网站的源码里面涉及到的管理员的账号密码。
关于Web源码脚本类型
ASP,PHP,ASPX,JSP,JAVAWEB等脚本类型源码安全问题
关于Web源码应用分类
社交,论坛,门户,第三方,博客等不同的代码机制对应漏洞
开源,未开源问题, 框架非框架问题,关于CMS识别问题及后续等
拿到对方的源码或者判断这个网站的应用类型之后应该侧重在哪些漏洞上做文章
• 门户网站------------------------综合类漏洞
• 电商------------------------------业务逻辑漏洞
• 论坛------------------------------XSS漏洞
• 博客------------------------------漏洞较少
• 第三方---------------------------根据功能决定
关于web源码漏洞寻找方式
1.框架漏洞或代码漏洞
如果对方网站采用的是框架开发的话那么你面对的就是寻找框架的漏洞,如果是非框架的话寻找的漏洞针对的是代码写出来的漏洞(代码审计)
比如:thinkPHP漏洞
2.CMS识别
1)概念:
(1)CMS识别:判定一个网站是用什么程序搭建的(2)CMS是Content Management System的缩写,意为"内容管理系统"。 内容管理系统是企业信息化建设和电子政务的新宠,也是一个相对较新的市场(3) 内容管理系统组成要素
- 文档模板
- 脚本语言或标记语言
- 与数据库集成
2)在线工具
http://whatweb.bugscaner.com/look/
https://www.yunsee.cn/
3.开源&内部
开源:去网上找寻漏洞文章。直接找漏洞或审计(可以通过CMS识别出来的)
内部:常规的渗透测试,用扫描工具去判断。(找不到源码或者不知道对方的CMS名称)
4.关于源码获取途径
扫描工具探测备份文件
CMS识别技术获取CMS名称然后从网上下载
百度直接搜索:源码
咸鱼上会有卖
第三方源码站:比如菜鸟源码
各种行业对应
5.总结
关注应用分类及脚本类型估摸出可能存在的漏洞(其中框架例外),在获取源码后可进行本地安全测试(本地安全测试(手工使用工具去扫描,不需要接触代码))或代码审计,也可以分析其目录工作原理(数据库备份,bak文件等),未获取到的源码采用各种方法想办法获取
演示:ASP注入
1.打开靶场
2.进入网站,打开任意界面,查看页面的后缀,根据后缀判定网页的语言类型,例如本案例用的就是PHP
3.查看网页底部,发现关键词XYCMS
4.搜索XYCMS源码,下载
5.打开文件夹,寻找关键数据库路径文件xydata,找到文件xycms.mdb(asp特有文件)
6.该文件存有管理员的账号密码
7.根据下载的源码路径,可以去尝试访问网站的目录:http://192.168.139.137:8003/xydata/xycms.mdb,下载到文件
8.尝试访问到后台
9.对数据库中admin的数据进行MD5解密,得到密码
10.使用用户密码即可登录