当前位置: 首页 > news >正文

信息打点web篇----web后端源码专项收集

前言

欢迎来到我的博客

个人主页:北岭敲键盘的荒漠猫-CSDN博客

专栏描述:因为第一遍过信息收集的时候,没怎么把收集做回事

导致后来在实战中,遭遇资产获取少,可渗透点少的痛苦,如今决定

从头来过,全面全方位的对信息收集进行一次完整的整理。

本文着重于整理,在渗透之前的获取网站源码的方法。

(类似于任意文件下载漏洞的方法不属于本文内容)

适合有点基础的人看,因为我没有讲一些概念。

源码打点重要性

这里的源码并不包含他们自己从0到有编写的源码,而是那种搭建网站的需要,从网上找的源码。

针对的是从网上使用别人现成的源码进行建站操作的网站。

 很明显,如果我们只是黑盒测试的话,很多比如测试个sql注入,测试个xss都是需要无头苍蝇乱撞一通来挖洞的。但是如果渗透前期获取了对方的源码,那么我们就可以直接看他这部分源码,从源码的写法看他过滤,针对性构造payload。成功的几率要大的多。

而且,获取源码也能够让我们拥有代码审计的条件。

源码分类

先对源码进行一个小小的规划。

1.开源cms

2.托管网站(开源或收费)

开源cms源码获取

方法:这种最为简单,我们可以利用那些指纹识别网站,直接识别出这个网站使用的cms,然后直接从网上下载就行。

识别方法:

1.专门的指纹识别网站,进行指纹识别

2.用空间引擎进行搜索,有概率直接搜出来,即使搜不出来,也可能会搜出来cms的安装向导,所以也是间接的搜索到它使用的cms。

3.手动,直接看他图标或者是网页底部。但是不排除搭建者会改源码。

获取方法:

cms可以直接搜索找官网下载即可。

闭源代码获取

网站备份文件获取

描述:

1.例如宝塔这类搭建部署中间件,我们是可以直接传我们网站的源码上去的。但是有的人可能传上去后没有删除原先的压缩包,这就导致我们可以找到这个压缩包获得源码。

2.有的程序员就喜欢把备份文件跟网站放到一起,这样确实一崩盘马上就拖出来新的。(至少我有这毛病)

获取方法:

可以用目录爆破的方法,指定爆破压缩包的后缀名,来猜解文件,能访问到就是有,能直接下下来。

常见后缀:

rar,zip,7z,tar,gz,bak,txt

环境文件获取

我们写代码的时候经常会在项目中出现一些文件。

pycharm如下:

vscode如下:

编辑器会生成这些配置文件来储存配置的信息。

但是!我们如果把他们上传到服务器的话,我们是可以访问到他们的。

下面案例:

php网站,vscode环境编写,直接访问vscode配置文件。

结构目录如下:

 php代码在exper中,.vscode是配置文件。

现在我们换个思路直接访问配置文件

composer.json泄露

这个是开发使用的内容,如果开发者开发完成后没有删除,也可能造成泄露。

里面可能有版权文件介绍,所以就会出现搭建的源码名称或者位置。

(仅针对php网站有效)

.git源码泄露

git环境文件就是这个类似的原理。(他是分布式控制系统)

这个文件记录着程序员对源码的操作。利用它可以反推源码。

GitHub - lijiejie/GitHack: A `.git` folder disclosure exploit

使用方法:

先访问.git文件来判断一下有没有这个文件,如果有的话使用工具。

使用githack工具

对着git地址直接泼水就行了。

GitHack.py http://www.openssl.org/.git/

 

SVN 源码泄露

.svn配置文件中也会泄露源码

得用python2的环境

GitHub - callmefeifei/SvnHack: 一个Svn信息泄露辅助工具,可以使用这个脚本列取网站目录,读取源码文件以及下载整站代码。

目录爆破的时候把他们放到字典里跑,有就用就行。

未知程序托管平台搜索

描述:本部分针对的是那种中小,黑产这类,不可能会自己写网站,但是他们用的也不是出名的cms,他们用的可能是github,或者是购买的源码。

查找技巧:

1.访问一下网站,查看我们访问了哪些文件,然后在github这类网站上搜,项目里面带有这个文件的话可能就会出来了。(当然,你得看这个文件比较特殊,别人写代码命名可能会少的文件搜)

2.查找敏感信息,比如有些作者可能会放上个人信息,而我们也可以搜索这个邮箱什么的,来找到作者。进而找到源码。

3.敏感词,某词出现频率多,那我们就可以用github语法依次降幂找出现多的源码。

 小结

如果我的内容对你有帮助,给我个赞嘛。

http://www.lryc.cn/news/378164.html

相关文章:

  • ArcGIS批量投影转换的妙用(地理坐标系转换为平面坐标系)
  • YOLOv10训练自己的数据集(图像目标检测)
  • 解决不能拉取 docker 镜像
  • 44、基于深度学习的癌症检测(matlab)
  • Vue3 【仿 react 的 hook】封装 useTitle
  • CSS 计数器
  • 磁力搜索器,解读新一代的搜索引擎方式,磁力王、磁力猫等引擎的异同及原理
  • Apache Doris 全新分区策略 Auto Partition 应用场景与功能详解 | Deep Dive系列
  • 【Linux】关于在华为云中开放了端口后仍然无法访问的问题
  • Linux系统ubuntu20.04 无人机PX4 开发环境搭建(失败率很低)
  • 中间件(express)
  • 【代码随想录算法训练Day44】LeetCode 322.零钱兑换、LeetCode 279.完全平方数、LeetCode139.单词拆分
  • ChatGLM2-6B 部署
  • 武汉工程大学24计算机考研数据,有学硕招收调剂,而专硕不招收调剂!
  • python爬虫之selenium自动化操作
  • 【漏洞复现】红帆iOffice.net wssRtSyn接口处存在SQL注入
  • 云计算【第一阶段(17)】账号和权限管理
  • 环境配置02:CUDA安装
  • Ranger配置图片及json文件预览
  • C语言 | Leetcode C语言题解之第169题多数元素
  • 常说的云VR是什么意思?与传统vr的区别
  • 华为云CodeArts API:API管理一体化平台 5月新特性上线啦!
  • ubuntu16因swap分区uuid错误启动慢排查
  • [保姆级]uniapp自定义导航栏
  • Java 桥接模式(Bridge Pattern)是设计模式中的一种结构型设计模式,桥接模式的核心思想是将抽象与实现解耦
  • 入门Ansible常用模块
  • 全能AI客户端:ChatGPT Web Midjourney Proxy,AI绘画+GPT4o对话
  • Java基础 - 练习(四)打印九九乘法表
  • 软件测试——稳定性测试:adb Monkey
  • 前端vue实战项目结构、常用编辑器vs code 配置