0


小迪安全学习笔记

小迪安全 web

基础入门

概念名词

域名
  • 网站的地址 需要在第三方平台(运营商注册),例如阿里云。

  • 多级域名 分站 eg baidu.com 为二级域名

  • ttl 生效时间

  • 域名 多级域名的存在可以使得突破的入口又多了一个

DNS
  • 域名系统服务协议 用以实现域名和ip的相互转换

  • host是存储本地解析地址的一个文件,在连接网站时会首先从本地host文件中寻找对应的地址。(host劫持)(加速器)

  • cdn 内容分布网络 缓存节点技术 用以加快网站访问的速度。根据地址分配最近的网络节点。

网站脚本
  • 常见的脚本语言 Java web PHP

  • 脚本语言的不同会使得漏洞的产生不同。

后门
  • 入侵之后留下的漏洞以便于进行攻击的通道。

  • 不同的目的的后门不同。

web
  • web的组成

网站的原码 脚本类型 应用方向

操作系统 win linux

搭建平台 apache tomcat

数据库 MySQL db2

  • 相关漏洞

源码漏洞

SQL注入上传 xss

数据库 系统 第三方漏洞

app与web结合类

  • app封装 将web网站封装在app中,实质上和web网站是一样的。
HTTP/S数据包
  • request 请求数据包

  • response 返回数据包

浏览器向服务器发出请求数据包 服务器收到后发送返回数据包。

  • 请求数据包的格式

请求头 主机 域名地址

accept 可接受的文件格式

useragnt 浏览器名称

host 对应网址url中web名称和端口号

acclanguage 接受语言类型

connection 是否维持http连接

cookie 历史数据包

refrer 产生请求的网页url

acchar 接受的编码

ac encoding 接受编码方式

  • 返回数据包的格式

状态行 协议版本等状态描述

响应头标 服务器相关信息

空行 间隔作用

响应数据 网页主体数据

响应码开头含义

1 收到

2成功

3 需要进一步操作

4 客户端错误

5服务器错误

200 存在文件

403 存在文件夹

3xx 均可能存在

404 不存在文件/夹

500 均可能存在

可以通过对数据包的修改来欺骗网站以实现各种目的。

搭建安全扩展

  • 常见搭建平台脚本

  • 域名ip目录解析

is 信息服务管理器 控制域名和IP

域名访问时会进入单一目录

IP访问时可能会是上一级目录/根目录

(ip扫描更好)

  • 文件后缀解析

自定义后缀也可连接

  • 安全防护

身份验证和访问控制(密码)

IP地址限制

  • web后门与用户及文件权限

通过设置权限限制后门

web源码扩展

  • 目录结构

熟悉网站的后台目录 找到自己所需要的关键信息。

  • 脚本类型

根据源码类型判断程序容易出现的漏洞。

  • 源码应用

不同功能会产生不同的漏洞。

  • 演示案例

  • asp PHP源码安全测试

指纹识别 得到网站框架源码后 分析结构 获取后台权限

  • 应用类源码分析

测试业务逻辑 发现漏洞

  • 目标从识别到源码

手工查找cms --检查数据包关键词 寻找 下载分析

提交错误信息 获取信息

系统与数据库

  • 操作系统类型判断方法

利用Windows大小写不敏感

TTL值判断法

工具扫描

  • 区别

兼容性 目录结构等

  • 数据库判断方法

  • 类型组合判断

asp + access

php+ mysql

  • 端口扫描

不同数据库开放的端口不同

  • 第三方软件判断

端口扫描法

加密算法

常见加密:base64,MD5,sha等

不可逆向的加密通过枚举解密

时间以时间戳的形式获取

url具有百分号特征

关于url:浏览器用来打包表单输入的格式。浏览器从表单中获取所有的name和其中的值 ,将它们以name/value参数编码(移去那些不能传送的字符,将数据排行等等)作为URL的一部分或者分离地发给服务器。

base64 区分大小写的随机组合 由于补位会出现末端等号

unescape 以%u +0000 开始

AES 具有密码 偏移量等特征值 输出格式可能于base64相似

加密算法种类

直接加密 密码 偏移 位数 模式 干扰等

解密方式

枚举 自定义 逆向脚本

案例

  • 逆向

通过编写逆向脚本解密

  • cms 组合加密

以:加组合码解密

  • URL SQL防注入

扫描网站 获取信息文件

解密相关数据

加入注入信息后集体加密注入

  • URL地址参数加密

搜索引擎 inurl:id==MQ==

确认加密方式

信息收集

CDN绕过

cdn 提高响应速度的内容分发网络技术。

  • 判断CDN存在

超级ping 多终端ping检测ip地址否一致

cdn绕过技术

  • 子域名查询

扫描查询子域名 判断是否在同一服务器 从子站入侵

  • 邮件服务查询

被动接收以得到发送者真实地址

  • 国外地址查询

用国外服务器访问

  • 遗留文件/扫描全网

访问网站属性查询 /多节点访问获取 响应ip 整合筛选

  • 黑暗引擎搜索特定文件

利用引擎搜索多节点/文件哈希

  • DNS记录

查询dns记录获取ip地址

  • ddos攻击

耗尽其流量以获得真实ip

案例

  • 子域名

cdn设置时可能只对www域名设置 而对无www域名未设置 可通过对其攻击获取IP

m/wap 手机访问域名

通过手机站点识别

网站备案号查询

  • 国外

生僻国家接口查询

  • 第三方接口/采集子域名查询

第三方网站查询历史解析记录

x.threatbook.cn

asm.ca.com

  • 邮件服务器

注册获取邮件 查询源码中获取其ip地址

  • 黑暗引擎

钟馗等网站查询

  • 修改host文件 查询是否打开

  • python 脚本查询 换算文件哈希值

全网扫描工具

zmap fuckcdn w8fuckcdn 等

架构 搭建 WAF等

  • web

cdn绕过

程序源码

搭建平台

站点结构

防护措施

  • app

判断web协议

逆向

  • 其他

资产备案

第三方应用

服务接口

微信业务

站点类型
  • 目录型站点

不同网站设置在同一目录下 会使得渗透目标加多

  • 端口类站点

以端口区分网站地址

  • 子域名两套CMS

子域名网站可能不在同一IP 而在同一网段下 应用内网渗透解决

  • 类似域名

com cn xyz 等各种域名 之间可能互通的

  • c段和旁注

同一服务器不同站点

不同服务器同一站点

旁注查询即可

  • 搭建软件特征

搭建软件通常会有默认管理密码

特征 server信息较为全面

具体种类需查询

WAF应用

网站防护产品 有硬件和软件的区别

识别 wafw00f

返回数据包中也可能识别到应用类型

app与其他资产

案例

  • apk

工具提取URL 逆向

抓包获取

  • 第三方测试

端口扫描

引擎搜索 扩展测试面 访问端口寻找漏洞 弱口令破解

  • 网站实战

引擎域名搜索 查找端口信息 ip

//服务器防攻击可能导致无法访问 vpn解决

子域名查询 ip查询 弱口令攻击

备案查询 查找更多攻击点

返回包查找信息

资产监控扩展
  • GitHub脚本监控

收集漏洞

收集资产信息

ps 自动推送 爬取数据

  • 子域名收集途径

https证书日志收集

cloudfare

解析记录查找

黑白搜索引擎

枚举 暴力破解

主站目录爬取

IP和域名嵌套查询

备案 whois信息查询

  • src平台漏洞收集
WEB 漏洞 知识点
  • 漏洞等级区分

影响区分

数据安全与权限 高危

逻辑安全 源码丢失

  • 注重信息收集

案例

  • sql数字注入

与数据库信息产生交互

修改包体执行相关语句 获取数据

  • 路径穿越

执行当前文件一级一级返回上级语句 以拿到其他文件

目录结构的获取 通过工具扫描

webpathbrute

  • 文件读取

与路径穿越相互配合 读取到网站文件

  • 文件上传

上传脚本文件执行获得权限

突破上传限制需要脚本 使得文件将其识别为正确的上传格式

  • 文件下载漏洞

通过下载窗口进行目录穿梭 下载到其他文件

案例 下载站

SQL注入

注入原理

利用代码的执行漏洞注入相应的sql语句 传入参数 进行信息的获取

注入条件

可以控制的变量 带入数据库中查询 变量过滤不严谨

and 1=1 使得判断为真 同时判断是否存在注入点 通过拼接将语句注入sql数据库中

注入步骤
  • 信息收集

操作系统 数据库类型 版本等信息

  • 数据注入

高低版本区别(5为界限)

理由 高版本数据库中有一默认数据库information_schema. tables/columns其中记录所有数据名表名和列名 获取数据

  • 权限注入

查询数据 跨库 文件读写

(需要学习一下sql语句)

简单注入流程

判断是否存在注入点:输入的数据对网站页面是否有影响、

找到正确和错误的注入临界点

通过注入点进行信息收集 数据库类型 版本 表单等

404错误 或跳转:对输入的数据存在检测

数据库中 . 表示下一级

mysql注入

root用户高权限可以跨数据库读取,导致一个网站的root泄露会导致其他网站泄露。

MySQL数据库的结构框架为 数据库 表名 列名 数据 数据库又连接着网站 数据库用户

数据库名和网站之间一般会有联系,在跨库读取时可以借鉴。

数据库路径的获取方式

报错显示 故意输入错误信息以获得提示

遗留文件 通过网站升级时遗留文件判断

漏洞报错 通过相关漏洞 配置文件

爆破 通过固定网站结构路径爆破

注入时的一些要点

斜杠时要使用两个斜杠来防止意

--+为注释符

魔术引号 用编码或宽字节代替字符绕过

其他防注入操作

自定义函数限制类型 自定关键字替换语句 waf软件等 总体思路都是绕过即可

sql注入之类型及提交注入

明确参数类型

实际中可能会设置 各种符号进行限定

参数为数字 不一定有单引号

参数为字符 定有符号

明确请求方法再进行注入

get post cookie等数据包信息

get方法对于post方法也可识别到

request 全部接受

黑盒测试 使用对应方法测试 参数去除 放置于post类型 若无变化 则post可接受 。

server 获取操作系统等各种设备 信息

通过网站的对信息的获取代码从而植入sql语句

  • 实例

参数字符型

通过符号的添加注释 配对绕过限制 具体情况具体分析

post数据注入

常见于登录页面 数据抓包 信息携带处进行sql注入即可

cookie 数据注入

在cookie栏进行提交操作

不同类型的注入点不同 寻找到合点位是关键所在

HTTP头部参数注入

注入为user agent 点

json注入

app常用 注入格式不同 常规为a=1and 1 = 1

json则为 “a":"1 and 1=1"

直接在json数据中进行测试

闭合体哦见是在sql语句中的

sql注入之OracleMongoDB注入

各类数据库注入特点

access 表名 列名 数据

MySQL 数据库名 表名 列名 数据

数据库配置文件决定了注入权限的大小

sql serve 高权限可以直接测试

mongodb 分布式文件存储库

无回显 sql语句查询方法问题导致 可以用dnslog解决

主要的注入语句有 insert delete update ordrerby

二次注入的原理 利用#修改原来密码达到注入目的

可以用堆叠注入绕过waf的检测

1/*-1 union select 1,2,3#/

符号中起到注释作用,真实数据是-1 union select 1,2,3#*/

出现多个参数时不同网站会有差别 令原来参数失效

绕过方法 查询各类白名单 或者用静态资源后缀请求

waf日志可以检查其是否拦截了注入工具

文件上传漏洞 可以借此上传漏洞后门 实现其他操作


本文转载自: https://blog.csdn.net/m0_73148547/article/details/129449881
版权归原作者 wanhars 所有, 如有侵权,请联系我们删除。

“小迪安全学习笔记”的评论:

还没有评论