基础入门-web源码拓展
基础入门-web源码拓展
前言
web源码在安全测试中是非常重要的信息来源,可以用来代码审计漏洞也可以用来做信息突破口,其中WEB源码有很多技术需要简明分析。
比如:获取ASP源码后可以采用默认数据库下载为突破,获取某其他脚本源码漏洞可以进行代码审计挖掘或分析其业务逻辑等,总之源码的获取将为后期的安全测试提供了更多的思路
关于WEB源码目录结构
注:这里以“BEESCMS企业网站管理系统”的源码为例
得到账号、密码,连接对方的数据库,从数据库汇总得到后台的账号、密码,然后登录对方的后台,获取信息
总结:
• admin----------------------------------网站后台目录
• data------------------------------------数据库相关目录
• install----------------------------------安装目录
• member-------------------------------会员目录
• template------------------------------模板目录(和网站建立相关的整体架构)
• data【confing.php】--------------数据库配置文件,网站和数据库的通讯信息,连接账号密码,可以去连接对方数据库,从数据库去得到这个网站的源码里面涉及到的管理员的账号密码。
关于Web源码脚本类型
ASP,PHP,ASPX,JSP,JAVAWEB等脚本类型源码安全问题
比如:上面【BEESCMS企业网站管理系统】就是一个php脚本类型源码
参考网站语言与框架
关于Web源码应用分类
1.社交,论坛,门户,第三方,博客等不同的代码机制对应漏洞
2.开源,未开源问题, 框架非框架问题,关于CMS识别问题及后续等
3.拿到对方的源码或者判断这个网站的应用类型之后应该侧重在哪些漏洞上做文章:
• 门户网站------------------------综合类漏洞
• 电商------------------------------业务逻辑漏洞
• 论坛------------------------------XSS漏洞
• 博客------------------------------漏洞较少
• 第三方---------------------------根据功能决定
4.关于源码获取的相关途径:搜索,咸鱼淘宝,第三方源码站,各种行业对应(灰色网站可能也找不到)
第三方源码站:菜鸟源码 (目前停站了,先不提供连接)
**总结:**关注应用分类及脚本类型就可以估摸出可能存在的漏洞(其中框架类例外,只需要找框架漏洞),在获取源码后可进行本地安全测试(自己手动测试)或代码审计(在代码中发现漏洞),也可以分析其目录工作原理(数据库备份,bak文件等【网站上面自带备份功能,它备份到某个指定目录,我们可以按照源码的特点在备份文件中去分析】),未获取到的源码采用各种方法想办法获取!
关于WEB源码其他说明
框架非框架问题
如果一个网站采用的是框架开发的话,那么渗透测试就是要寻找框架的漏洞,如果是非框架的话寻找的漏洞针对的是代码写出来的漏洞(也就是代码审计)
比如:thinkphp框架
关于CMS识别问题
• CMS是Content Management System的缩写,意为"内容管理系统"。 内容管理系统是企业信息化建设和电子政务的新宠,也是一个相对较新的市场。对于内容管理,业界还没有一个统一的定义,不同的机构有不同的理解。
• 内容管理系统组成要素:
文档模板
脚本语言或标记语言
与数据库集成
• CMS识别: 判定一个网站是用什么程序搭建的,网上有很多相关的源码来提供下载,我们称之为开源程序。
• 常用的网站搭建程序
• CMS识别两种方法:
(1)在线工具:
http://whatweb.bugscaner.com/look/
https://www.yunsee.cn/
(2)cmd命令:
>cd 目录(这里我将其存在桌面)
>certutil -hashfile 文件名称.文件类型 MD5
基于web网站独有的favicon.ico、css、logo.ico、js等文件的md5 比对网站类型,通过收集CMS公开代码中的独有文件,这些文件一般轻易不会更改,如果一样,则认为该系统匹配。这种识别速度最快,但可能不准确,因为这些独有文件可能在部署到真实系统中会进行更改,那么就会造成很大的误差。
开源、内部(未开源)问题
开源:直接找漏洞或审计(可以通过CMS识别出来的)
内部:常规的渗透测试,扫描工具、手工去探测(找不到源码或者不知道对方的CMS名称)
源码获取
• 扫描工具探测备份文件
• CMS识别技术获取CMS名称然后从网上下载
• 百度直接搜索:源码
- 咸鱼上会有卖
- 第三方源码站:比如菜鸟源码
- 各种行业对应
总结
关注应用分类及脚本类型估摸出可能存在的漏洞(其中框架例外),在获取源码后可进行本地安全测试(本地安全测试(手工使用工具去扫描,不需要接触代码))或代码审计,也可以分析其目录工作原理(数据库备份,bak文件等),未获取到的源码采用各种方法想办法获取
演示案例
平台识别-某CMS无漏洞-默认数据库
这里以【XYCMS企业建站系统】为例,打开此网站,发现底部关键词XYCMS
百度搜索XYCMS,进行源码下载
下载之后,发现有一个数据库路径,打开
、
找到asp的特有数据库文件.mdb
使用mdb打开工具(Easy Access)进行打开,获得账户名密码,进行解密
根据下载的源码路径,尝试去访问网站目录http://ip:8003/xydata/xycms.mdb,下载到mdb文件
访问网站后台,输入刚刚获取到的用户名密码
平台识别-某CMS有漏洞-漏洞利用
这里以【MetInfo】为例,打开此网站,发现脚本类型是php
底部还有对应的版本:MetInfo 5.14
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ou2TNEOG-1636600556435)(C:\Users\zhang\AppData\Roaming\Typora\typora-user-images\image-20211104144039718.png)]
百度搜索:MetInfo 5.1.4漏洞,如果网上没有漏洞信息,也可以下载源码再做漏洞分析
源码应用分类下的针对漏洞
这里以【niushop】电商类网站为例,关注漏洞点–业务逻辑漏洞
• burp抓包,将购买产品数量改成-1
结果应付金额为0
简要目标从识别到源码获取
本地演示个人博客-手工发现其 CMS-漏洞搜索或下载分析
内部搭建靶场 http://weipan.1016sangshen.cn
百度搜索:thinkphp,是一个框架,所以利用框架漏洞。用工具进行检测
人工爆框架-搜索特定 url-获取其他相符站点-漏洞测试
借助特定行业源码或咸鱼进行搜索获取-本地搭建-代码审计或其他
特定行业源码
咸鱼
总结
源码获取
源码编写脚本决定漏洞(cms )
把网站进行分类,分类不同,去发现漏洞
基础入门-web源码拓展相关推荐
- 渗透测试-基础入门-web源码拓展_4
一如既往的学习,一如既往的整理,一如既往的分享 一.前言 web源码在安全测试中是非常重要的信息来源,可以用来代码审计漏洞也可以用来做信息突破口,其中WEB源码有很多技术需要简明分析. 比如:获取AS ...
- 【小迪安全学习笔记】基础入门-Web源码拓展
前言:Web源码在安全测试中是非常重要的信息来源,可以用来代码审计漏洞也可以用来做信息突破口,其中Web源码有很多技术需要简明分析.比如:获取某ASP源码后可以采用默认数据库下载为突破,获取某其他脚本 ...
- 第4篇:基础入门~Web源码拓展
目录 前言 正文 总结: 演示案例 案例1:ASP,PHP 等源码下安全测试 操作XYCMS: metinfo: 字典识别CMS 案例2:源码应用分类下的针对漏洞 案例3:简要目标从识别到源码获取 涉 ...
- 小迪渗透测试学习笔记(四)基础入门-WEB源码拓展
前言: WEB源码在安全测试中是非常重要的信息来源,可以用来代码审 计漏洞也可以用来做信息突破口,其中WEB源码有很多技术需要简明分析. 比如:获取某ASP源码后可以采用默认数据库下载为突破,获取某其 ...
- B站小迪安全笔记第4天-WEB源码拓展
前言: WEB 源码在安全测试中是非常重要的信息来源,可以用来代码审 计漏洞也可以用来做信息突破口,其中 WEB 源码有很多技术需要简明分析. 比如:获取某 ASP 源码后可以采用默认数据库下载为突破 ...
- 【小迪安全day04】WEB 源码拓展--web源码目录、脚本类型、应用分类、cms识别
WEB 源码在安全测试中是非常重要的信息来源,可以用来代码审计漏洞也可以用来做信息突破口,其中 WEB 源码有很多技术需要简明分析. 比如:获取某 ASP 源码后可以采用默认数据库下载为突破,获取某其 ...
- koa 基础入门与源码学习
Koa 学习笔记 本期内容主要为 koa 基础与源码学习,后续会开一期 koa 项目实战.本文基础部分目录结构按照阮一峰老师的 koa 教程(有作修动).望本文能对您有所帮助!☀️ 前置基础 node ...
- 零基础入门Cobra---kubernetes源码学习必备
Cobra 是用 go 语言实现的用于创建 CLI 应用程序和命令文件的工具. 许多 Go 的项目都是使用 Cobra 构建的,包括: kubernetes etcd hugo docker -- 本 ...
- Nginx实战基础篇一 源码包编译安装部署web服务器
Nginx实战基础篇一 源码包编译安装部署web服务器 版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 您可以自由复制.发行.展览.表演.放映.广播或通 ...
最新文章
- AI四巨头Google、DeepMind、Microsoft、Uber深度学习框架大比拼
- 设计散列表实现通讯录查找系统_[源码和文档分享]利用哈希表实现电话号码查询系统...
- 前端学习(325):javascript历史
- 排除MySQL中常见错误的实用招术
- 初识PHP变量函数语法
- 微信限制内置浏览器的访问方法
- python写病毒代码_十行 Python 代码写一个USB病毒
- Ajax前台传数组,Java后台接收方式
- php正则判断数字和英文,PHP正则匹配中英文、数字及下划线的方法【用户名验证】...
- 创业公司股权分配较好方案推荐
- Qt for linux 安装
- 超声波测距仪编程_关于基于51单片机的超声波测距仪的汇编编程问题
- java中除法和取余的若干注意
- Roson的Qt之旅 #129 QNetworkProxyFactory(网络代理工厂)
- arguments的理解?
- 科技赋能长三角,移动云铸造“数字鱼米之乡”
- python字符是什么意思_python的str是什么意思?
- 基于灰狼优化算法的TSP搜索算法
- WIN10右键菜单长时间转圈的解决办法之二
- Gurobi求解运输问题
热门文章
- 墨者学院-浏览器信息伪造
- Java:Collections.empty*的作用及要注意的地方
- 256639-17-5,GEKLKKIGQKIKNFFQKL
- 教你快速制作糖果字体
- android 设置动画时长,XamarinAndroid组件教程设置动画的时长参数
- Java学习笔记⑩(final关键字、内部类)
- android 8.0 长按图标菜单,只有华为EMUI8.0才有的功能!这些小技巧足以证明你手机的价值...
- O缺缺缺缺氧 O缺缺氧
- SQL复杂查询(三表联查)
- ncnn的使用(初学必看)