zoukankan      html  css  js  c++  java
  • 基础入门-web源码拓展

    基础入门-web源码拓展

    前言

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

    关于WEB源码目录结构

    注:这里以“BEESCMS企业网站管理系统”的源码为例
    image-20211104112436304

    image-20211104142317663

    image-20211104142340915

    image-20211104142402184

    image-20211104142422200

    image-20211104142439528

    image-20211104142509695

    image-20211104142527000

    image-20211104142545861

    image-20211104142601487

    image-20211104142628921

    得到账号、密码,连接对方的数据库,从数据库汇总得到后台的账号、密码,然后登录对方的后台,获取信息

    总结:

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

    关于Web源码脚本类型

    ASP,PHP,ASPX,JSP,JAVAWEB等脚本类型源码安全问题

    比如:上面【BEESCMS企业网站管理系统】就是一个php脚本类型源码

    参考网站语言与框架

    image-20211104142713440

    关于Web源码应用分类

    1.社交,论坛,门户,第三方,博客等不同的代码机制对应漏洞
    2.开源,未开源问题, 框架非框架问题,关于CMS识别问题及后续等
    3.拿到对方的源码或者判断这个网站的应用类型之后应该侧重在哪些漏洞上做文章:
    • 门户网站------------------------综合类漏洞
    • 电商------------------------------业务逻辑漏洞
    • 论坛------------------------------XSS漏洞
    • 博客------------------------------漏洞较少
    • 第三方---------------------------根据功能决定

    4.关于源码获取的相关途径:搜索,咸鱼淘宝,第三方源码站,各种行业对应(灰色网站可能也找不到)
    第三方源码站:菜鸟源码 (目前停站了,先不提供连接)

    总结:关注应用分类及脚本类型就可以估摸出可能存在的漏洞(其中框架类例外,只需要找框架漏洞),在获取源码后可进行本地安全测试(自己手动测试)或代码审计(在代码中发现漏洞),也可以分析其目录工作原理(数据库备份,bak文件等【网站上面自带备份功能,它备份到某个指定目录,我们可以按照源码的特点在备份文件中去分析】),未获取到的源码采用各种方法想办法获取!

    关于WEB源码其他说明

    框架非框架问题

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

    比如:thinkphp框架

    image-20211104143241001

    关于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

    image-20211104143707089

    百度搜索XYCMS,进行源码下载

    image-20211104143733634

    下载之后,发现有一个数据库路径,打开

    image-20211104143809351

    找到asp的特有数据库文件.mdb

    image-20211104143836713

    使用mdb打开工具(Easy Access)进行打开,获得账户名密码,进行解密

    image-20211104143917664

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

    访问网站后台,输入刚刚获取到的用户名密码

    image-20211104143939224

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

    这里以【MetInfo】为例,打开此网站,发现脚本类型是php

    image-20211104144009484

    底部还有对应的版本:MetInfo 5.14

    image-20211104144039718

    百度搜索:MetInfo 5.1.4漏洞,如果网上没有漏洞信息,也可以下载源码再做漏洞分析

    image-20211104144202507

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

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

    • burp抓包,将购买产品数量改成-1

    image-20211104144235145

    结果应付金额为0

    image-20211104144315738

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

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

    image-20211104144439950

    image-20211104144452366

    image-20211104144507020

    image-20211104144517772

    image-20211104144528472

    image-20211104144615169

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

    image-20211104145040783

    image-20211104145050269

    image-20211104145058193

    百度搜索:thinkphp,是一个框架,所以利用框架漏洞。用工具进行检测

    image-20211104145122457

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

    image-20211104144650330

    image-20211104144714464

    image-20211104144722900

    image-20211104144732052

    image-20211104144744496

    image-20211104144829751

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

    特定行业源码
    咸鱼

    image-20211104145307741

    总结

    源码获取

    源码编写脚本决定漏洞(cms )

    把网站进行分类,分类不同,去发现漏洞

  • 相关阅读:
    Poj 1742 Coins(多重背包)
    Poj 2350 Above Average(精度控制)
    求二进制数中1的个数
    Poj 1659 Distance on Chessboard(国际象棋的走子规则)
    Poj 2411 Mondriaan's Dream(压缩矩阵DP)
    Poj 2136 Vertical Histogram(打印垂直直方图)
    Poj 1401 Factorial(计算N!尾数0的个数——质因数分解)
    poj 2390 Bank Interest(计算本利和)
    Poj 2533 Longest Ordered Subsequence(LIS)
    Poj 1887 Testing the CATCHER(LIS)
  • 原文地址:https://www.cnblogs.com/hirak0/p/15539027.html
Copyright © 2011-2022 走看看