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

不同脚本对应的可能漏洞不同

  1. MetInfo 网站

    网址中即夹杂php 发现时php的

    可以直接在网上搜索MetInfo 漏洞 或下载MetInfo源码 查找漏洞

    目前仅强调思路
社交,论坛,门户,第三方,博客等不同的代码机制对应漏洞

通过目标的应用方向,可以知道应该着重哪些漏洞的发现/测试

开源,未开源问题,框架非框架问题,关于cMS识别问题及后续等

同上

关于源码获取的相关途径:搜索,咸鱼淘宝,第三方源码站,各种行业对应

总结:

关注应用分类及脚本类型估摸出可能存在的漏洞(其中框架类例外),在获取源码后可进行本地安全测试或代码审计,也可以分析其目录工作原理(数据库备份,bak文件等),未获取到的源码采用各种方法想办法获取!、

第三方网站 菜鸟源码

演示案例

  1. 打开靶机 xx搬家公司网站

    发现xycms

    网上查找xycms源码 下载查看

    mdb文件是ASP特有的数据库文件

    xydata中发现的mdb文件 中有admin 账号密码 MD5加密的 解密后即能登录

    可以尝试访问网站中xydata/xscms.mdb
  2. CMS字典

    查看MD5值 对比字典库数据

    网上CMS识别网站 云悉 站长之家
  3. 电商网站niushop

    提交订单后

    burpsuip 抓捕数据包 将订单数量更改为-1 再发送

    则需要支付的金额变为0

    电商网站的功能测试重点 支付漏洞

简要目标从识别到源码获取

本地演示个人博客-手工发现其CMS-漏洞搜索或下载分析

http://weipan.1016sangshen.cn/ 内部搭建的靶场

人工爆框架-搜索特定url-获取其他相符站点-漏洞测试

借助特定行业源码或咸鱼进行搜索获取-本地搭建-代码审计或其他

程序源码获取

菜鸟源码(网站现在已经打不开了 小道消息说是站长被抓了xs

网页搜索

xd p4 WEB源码拓展的更多相关文章

  1. Spring框架之spring-web web源码完全解析

    Spring框架之spring-web web源码完全解析 spring-web是Spring webMVC的基础,由http.remoting.web三部分组成,核心为web模块.http模块封装了 ...

  2. 常见的Web源码泄露总结

    常见的Web源码泄露总结 源码泄露方式分类 .hg源码泄露 漏洞成因: hg init 的时候会生成 .hg 漏洞利用: 工具: dvcs-ripper .git源码泄露 漏洞成因: 在运行git i ...

  3. Web源码泄露总结

    Web源码泄露总结 背景 本文主要是记录一下常见的源码泄漏问题,这些经常在web渗透测试以及CTF中出现. 源码泄漏分类 .hg源码泄漏 漏洞成因: hg init的时候会生成.hg e.g.http ...

  4. 常见的Web源码泄漏漏洞及其利用

    Web源码泄露的漏洞: git源码泄露 svn源码泄露 hg源码泄漏 网站备份压缩文件 WEB-INF/web.xml 泄露 DS_Store 文件泄露 SWP 文件泄露 CVS泄露 Bzr泄露 Gi ...

  5. ctf/web源码泄露及利用办法

    和上一篇文章差不多,也算是对web源码泄露的一个总结,但是这篇文章更侧重于CTF 参考文章: https://blog.csdn.net/wy_97/article/details/78165051? ...

  6. 四:WEB源码扩展

    前言:WEB源码在安全测试中是非常重要的信息来源,可以用来进行代码审计漏洞也可以用来做信息突破口,其中WEB源码有很多技术需要简明分析,获取某ASP源码后就可以采用默认数据库下载为突破,获取某其他脚本 ...

  7. drf的基本使用、APIView源码分析和CBV源码拓展

    cbv源码拓展 扩展,如果我在Book视图类中重写dispatch方法 -可以实现,在get,post方法执行之前或者之后执行代码,完成类似装饰器的效果 def dispatch(self, requ ...

  8. CTF中常见Web源码泄露总结

    目录00x1 .ng源码泄露 00x2  git源码泄露 00x3 .DS_Store文件泄漏 00x4 网站备份压缩文件 00x5 SVN导致文件泄露 00x6 WEB-INF/web.xml泄露  ...

  9. 常见Web源码泄露总结

    来自:http://www.hacksec.cn/Penetration-test/474.html 摘要 背景 本文主要是记录一下常见的源码泄漏问题,这些经常在web渗透测试以及CTF中出现. .h ...

  10. golang web源码解析

    Go的web工作原理 在Go中使用及其简单的代码即可开启一个web服务.如下: //开启web服务 func test(){ http.HandleFunc("/", sayHel ...

随机推荐

  1. Linux命令使用时路径存在空格、特殊符号

    https://blog.csdn.net/Homewm/article/details/102935965 Linux命令使用时路径存在空格.特殊符号(如-.@等等)如何处理呢? 再如可以转义的字符 ...

  2. 3. 贪心思想(todo)

    目录 1. 分配饼干 2. 不重叠区间个数 3. 投飞镖刺破气球 5. 买卖股票最大的收益 6. 买卖股票的最大收益 II 9. 修改一个数成为非递减数组 10. 子数组的最大和 11. 分隔字符串使 ...

  3. 通过docker 安装部署sentry

    一.下载项目 git clone https://github.com/getsentry/self-hosted 二.安装 1.安装docker和docker-compose 2.运行sentry ...

  4. Educational Codeforces Round 112 E、Boring Segments

    原题网址 https://codeforces.com/contest/1555/problem/E 题目大意 有n个区间.每个区间是[1,m]的子区间.从a可以一步走到b的充要条件是存在区间同时覆盖 ...

  5. day01-java流程

    Scanner对象 基本语法: Scanner s = new Scanner(System.in); next()方法 nextLine()方法 顺序结构 选择结构 if单选结构 语法: if(布尔 ...

  6. python win32 microsoft excel 类range的copyPictrue方法无效

    这个报错也是可以的,不明不白,只是提示:microsoft excel 类range的copyPictrue方法无效 网上找了好多博客,对我的情况没有效果,无奈我想打开excel看看到底是咋回事,结果 ...

  7. unity 实现Game窗口的Stats 【转自蛮牛】

    using UnityEngine;using System.Text;using UnityEditor; public class ShowFps : MonoBehaviour{ public ...

  8. u盘重装系统后怎么恢复成普通u盘使用,U盘启动盘还原的方法

    1.先将u盘插入到电脑,然后在电脑上按下win+r快捷键打开运行菜单,输入"cmd"回车确定打开命令提示符页面.   2. 然后在命令提示符输入"diskpart&quo ...

  9. 092_Schema获取表字段的方式

    Map<String, Schema.SObjectField> objectFields = Schema.getGlobalDescribe().get('ObjectName').g ...

  10. Unity一键制作预制体Prefab一键修改Prefab属性

    1.适用于制作多个预制体(一个模型文件下面几百个子物体,都需要制作成预制体,这一个一个拖不是要炸裂) 模型资源如下图 2.模型先放到Resources文件夹下面方便读取,制作完预制体可以给他拖到其他文 ...