Java教程

渗透测试-基础入门-web源码拓展_4

本文主要是介绍渗透测试-基础入门-web源码拓展_4,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一如既往的学习,一如既往的整理,一如既往的分享
在这里插入图片描述

一、前言

web源码在安全测试中是非常重要的信息来源,可以用来代码审计漏洞也可以用来做信息突破口,其中WEB源码有很多技术需要简明分析。
比如:获取ASP源码后可以采用默认数据库下载为突破,获取某其他脚本源码漏洞可以进行代码审计挖掘或分析其业务逻辑等,总之源码的获取将为后期的安全测试提供了更多的思路

二、知识点

2.1 关于WEB源码目录结构

注:这里以“BEESCMS企业网站管理系统”的源码为例
在这里插入图片描述
在这里插入图片描述
• admin----------------------------------网站后台目录
• data------------------------------------数据库相关目录
• install----------------------------------安装目录
• member-------------------------------会员目录
• template------------------------------模板目录(和网站建立相关的整体架构)
• data【confing.php】--------------数据库配置文件,网站和数据库的通讯信息,连接账号密码,可以去连接对方数据库,从数据库去得到这个网站的源码里面涉及到的管理员的账号密码。

2.2 关于WEB源码脚本类型

ASP,PHP,ASPX,JSP,JAVAWEB等脚本类型源码安全问题
比如:上面【BEESCMS企业网站管理系统】就是一个php脚本类型源码
下图中【XYCMS企业建站系统】是asp脚本类型源码在这里插入图片描述

2.3 关于WEB源码应用分类

注:不同网站的源码对应不同的漏洞类型

• 门户网站------------------------综合类漏洞
• 电商------------------------------业务逻辑漏洞
• 论坛------------------------------XSS漏洞
• 博客------------------------------漏洞较少
• 第三方---------------------------根据功能决定

总结:拿到对方的源码或者判断这个网站的应用类型之后应该侧重在哪些漏洞上做文章

2.4 关于WEB源码其他说明

2.4.1 框架非框架问题

如果一个网站采用的是框架开发的话,那么渗透测试就是要寻找框架的漏洞,如果是非框架的话寻找的漏洞针对的是代码写出来的漏洞(也就是代码审计)

比如:thinkphp框架
在这里插入图片描述

2.4.2 关于CMS识别问题

CMS是Content Management System的缩写,意为"内容管理系统"。 内容管理系统是企业信息化建设和电子政务的新宠,也是一个相对较新的市场。对于内容管理,业界还没有一个统一的定义,不同的机构有不同的理解。

内容管理系统组成要素:

  1. 文档模板
  2. 脚本语言或标记语言
  3. 与数据库集成

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公开代码中的独有文件,这些文件一般轻易不会更改,如果一样,则认为该系统匹配。这种识别速度最快,但可能不准确,因为这些独有文件可能在部署到真实系统中会进行更改,那么就会造成很大的误差。

2.4.3 开源、内部(未开源)问题

开源:直接找漏洞或审计(可以通过CMS识别出来的)
内部:常规的渗透测试,扫描工具、手工去探测(找不到源码或者不知道对方的CMS名称)

2.4.4 源码获取

• 扫描工具探测备份文件
• CMS识别技术获取CMS名称然后从网上下载
• 百度直接搜索:源码
在这里插入图片描述
• 咸鱼上会有卖
• 第三方源码站:比如菜鸟源码
• 各种行业对应

2.5 总结

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

三、演示案例

3.1 ASP,PHP等源码下安全测试

3.1.1 平台识别-某CMS无漏洞-默认数据库

• 这里以【XYCMS企业建站系统】为例,打开此网站,发现底部关键词XYCMS
在这里插入图片描述
• 百度搜索XYCMS,进行源码下载
在这里插入图片描述
• 下载之后,发现有一个数据库路径,打开
在这里插入图片描述

• 找到asp的特有数据库文件.mdb
在这里插入图片描述

• 使用mdb打开工具(Easy Access)进行打开,获得账户名密码,进行解密
在这里插入图片描述

根据下载的源码路径,尝试去访问网站目录http://ip:8003/xydata/xycms.mdb,下载到mdb文件

• 访问网站后台,输入刚刚获取到的用户名密码
在这里插入图片描述

3.1.2 平台识别-某CMS有漏洞-漏洞利用

• 这里以【MetInfo】为例,打开此网站,发现脚本类型是php
在这里插入图片描述

底部还有对应的版本:MetInfo 5.14
在这里插入图片描述

• 百度搜索:MetInfo 5.14漏洞,如果网上没有漏洞信息,也可以下载源码再做漏洞分析
在这里插入图片描述

3.1.2 源码应用分类下的针对漏洞

这里以【niushop】电商类网站为例,关注漏洞点–业务逻辑漏洞

• burp抓包,将购买产品数量改成-1
在这里插入图片描述

• 结果应付金额为0
在这里插入图片描述

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

(1)演示小迪博客-手工发现CMS-漏洞搜索或下载分析

在这里插入图片描述

百度搜索
在这里插入图片描述

(2)内部搭建靶场 http://weipan.1016sangshen.cn

在这里插入图片描述
故意输入错误的url,会发现报错
在这里插入图片描述

百度搜索:thinkphp,是一个框架,所以利用框架漏洞。用工具进行检测
在这里插入图片描述

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

针对上面那个网站,抓包看看,找到一个特殊的路径
在这里插入图片描述

搜索试试
在这里插入图片描述
在这里插入图片描述
发现一个网站
在这里插入图片描述
进行访问
在这里插入图片描述
用工具进行检测
在这里插入图片描述

发现也存在框架漏洞

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

在这里插入图片描述

这篇关于渗透测试-基础入门-web源码拓展_4的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!