xd p4 WEB源码拓展
WEB 源码在安全测试中是非常重要的信息来源,可以用来代码审计漏洞也可以用来做信息突破口,其中 WEB 源码有很多技术需要简明分析。
知识点
关于 WEB 源码目录结构
后台目录、模板目录、数据库目录、数据库配置文件 等
关于 WEB 源码脚本类型
ASP PHP ASPX JSP JAVAWEB Python etc
不同脚本的源码数据库储存方式不同
不同脚本有解释型 有编译型
语言安全:不同脚本语言涉及到的安全漏洞不同
关于 WEB 源码应用分类
门户、电商、论坛、博客、第三方 等
源码功能决定漏洞类型
判断源码功能后,可以找到侧重探索的漏洞类型
关于 WEB 源码其他补充
框架非框架:框架就是常用功能集成,网站开发时可直接引用功能
如果对方网站采用框架开发,那么就需要针对框架找漏洞
如果是非框架开发,那么需要一行行代码找漏洞
CMS识别:判定一个网站是采用什么程序搭建的,根据框架可能能找到别人分析的漏洞进行测试
开源或内部
开源:能知道这套程序的名字, 能下载到源码 可以直接找漏洞或审计
内部:未见过的程序,找不到源码 可以进行常规渗透测试
源码获取:扫描/探测获取备份文件,CMS识别后获取,特定源码特定渠道
展示
数据库配置文件,后台目录,模版目录,数据库目录等
打开网站源码文件
通过后缀判定php
知晓常规漏洞的含义
admin/system 网站后台操作
data 数据相关
member 会员的
template 模板文件目录
includes/config 数据库配置文件 网站和数据库相连接的文件
ASP,PHP,ASPX,JSP,JAVAWEB等脚本类型源码安全问题
https://websec.readthedocs.io/zh/latest/index.html
不同脚本对应的可能漏洞不同
- MetInfo 网站
网址中即夹杂php 发现时php的
可以直接在网上搜索MetInfo 漏洞 或下载MetInfo源码 查找漏洞
目前仅强调思路
社交,论坛,门户,第三方,博客等不同的代码机制对应漏洞
通过目标的应用方向,可以知道应该着重哪些漏洞的发现/测试
开源,未开源问题,框架非框架问题,关于cMS识别问题及后续等
同上
关于源码获取的相关途径:搜索,咸鱼淘宝,第三方源码站,各种行业对应
总结:
关注应用分类及脚本类型估摸出可能存在的漏洞(其中框架类例外),在获取源码后可进行本地安全测试或代码审计,也可以分析其目录工作原理(数据库备份,bak文件等),未获取到的源码采用各种方法想办法获取!、
第三方网站 菜鸟源码
演示案例
- 打开靶机 xx搬家公司网站
发现xycms
网上查找xycms源码 下载查看
mdb文件是ASP特有的数据库文件
xydata中发现的mdb文件 中有admin 账号密码 MD5加密的 解密后即能登录
可以尝试访问网站中xydata/xscms.mdb - CMS字典
查看MD5值 对比字典库数据
网上CMS识别网站 云悉 站长之家 - 电商网站niushop
提交订单后
burpsuip 抓捕数据包 将订单数量更改为-1 再发送
则需要支付的金额变为0
电商网站的功能测试重点 支付漏洞
简要目标从识别到源码获取
本地演示个人博客-手工发现其CMS-漏洞搜索或下载分析
http://weipan.1016sangshen.cn/ 内部搭建的靶场
人工爆框架-搜索特定url-获取其他相符站点-漏洞测试
借助特定行业源码或咸鱼进行搜索获取-本地搭建-代码审计或其他
程序源码获取
菜鸟源码(网站现在已经打不开了 小道消息说是站长被抓了xs
网页搜索
xd p4 WEB源码拓展的更多相关文章
- Spring框架之spring-web web源码完全解析
Spring框架之spring-web web源码完全解析 spring-web是Spring webMVC的基础,由http.remoting.web三部分组成,核心为web模块.http模块封装了 ...
- 常见的Web源码泄露总结
常见的Web源码泄露总结 源码泄露方式分类 .hg源码泄露 漏洞成因: hg init 的时候会生成 .hg 漏洞利用: 工具: dvcs-ripper .git源码泄露 漏洞成因: 在运行git i ...
- Web源码泄露总结
Web源码泄露总结 背景 本文主要是记录一下常见的源码泄漏问题,这些经常在web渗透测试以及CTF中出现. 源码泄漏分类 .hg源码泄漏 漏洞成因: hg init的时候会生成.hg e.g.http ...
- 常见的Web源码泄漏漏洞及其利用
Web源码泄露的漏洞: git源码泄露 svn源码泄露 hg源码泄漏 网站备份压缩文件 WEB-INF/web.xml 泄露 DS_Store 文件泄露 SWP 文件泄露 CVS泄露 Bzr泄露 Gi ...
- ctf/web源码泄露及利用办法
和上一篇文章差不多,也算是对web源码泄露的一个总结,但是这篇文章更侧重于CTF 参考文章: https://blog.csdn.net/wy_97/article/details/78165051? ...
- 四:WEB源码扩展
前言:WEB源码在安全测试中是非常重要的信息来源,可以用来进行代码审计漏洞也可以用来做信息突破口,其中WEB源码有很多技术需要简明分析,获取某ASP源码后就可以采用默认数据库下载为突破,获取某其他脚本 ...
- drf的基本使用、APIView源码分析和CBV源码拓展
cbv源码拓展 扩展,如果我在Book视图类中重写dispatch方法 -可以实现,在get,post方法执行之前或者之后执行代码,完成类似装饰器的效果 def dispatch(self, requ ...
- CTF中常见Web源码泄露总结
目录00x1 .ng源码泄露 00x2 git源码泄露 00x3 .DS_Store文件泄漏 00x4 网站备份压缩文件 00x5 SVN导致文件泄露 00x6 WEB-INF/web.xml泄露 ...
- 常见Web源码泄露总结
来自:http://www.hacksec.cn/Penetration-test/474.html 摘要 背景 本文主要是记录一下常见的源码泄漏问题,这些经常在web渗透测试以及CTF中出现. .h ...
- golang web源码解析
Go的web工作原理 在Go中使用及其简单的代码即可开启一个web服务.如下: //开启web服务 func test(){ http.HandleFunc("/", sayHel ...
随机推荐
- fastai fit_one_cycle AttributeError: 'function' object has no attribute 'parameters'
初学fastai fit_one_cycle语句报错指向614行, 即: return [p for p in m.parameters() if p.requires_grad] 在以前遇到这种 ...
- opc ua与opc da区别
opc ua与opc da区别_OPC,OPCDA,OPCUA傻傻搞不清楚,走过路过不妨看一看 转自:https://blog.csdn.net/weixin_39624774/article/det ...
- K8s集群版本升级
k8s组件升级流程: 升级主管理节点→升级其他管理节点→升级工作节点 首先备份主管理节点的etcd,检查版本号,为了保证版本的兼容性,跨度最好不要超过两个版本. [root@master ~]# ku ...
- array copy() 的简单使用
源码: public static native void arraycopy(Object src, int srcPos, Object dest, int destPos,int length) ...
- Python 闭包,生成式,推导式
闭包概念 闭包,又称闭包函数或者闭合函数,其实和前面讲的嵌套函数类似, 不同之处在于,闭包中外部函数返回的不是一个具体的值,而是一个函数.一般情况下,返回的函数会赋值给一个变量,这个变量可以在后面被继 ...
- ABAP 委外采购收货调用过账bapi
相关的表: ekko:采购凭证抬头表 用于判断是否委外 ekpo:采购凭证行项目表 用于判断是否委外以及委外采购的数量 resb:获取委外采购单中bom的相应预留 mseg:获取已经委外原材料出库给供 ...
- 如何使用visual studio code的插件remote ssh远程操作virtual box虚拟机
0 Remote-SSH是什么?为什么要用它? The Remote-SSH extension lets you use any remote machine with a SSH server a ...
- dns服务之bind配置内网解析部分子域名,其它子域名转发
bind配置内网解析部分子域名,其它子域名转发.以下以m.xxx.com和admin.xxx.com由内网dns解析,其它*.xxx.com转发给外网dns解析为例配置.文件/etc/named.co ...
- perl的学习:将分句脚本split-sentences.perl转为python脚本
初识perl,只为完成分句脚本的转换.因此本文具有极强的目的性,perl的很多好用功能就不研究了,主要内容围绕分句脚本展开,部分基础知识就不再赘述. 1.仓库的地址:https://gitee.com ...
- el-scrollbar滚动加载
mounted() { 监听滚动条 this.$refs.scrollbar.wrap.addEventListener("scroll", this.scrollCo ...