小迪安全 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日志可以检查其是否拦截了注入工具
文件上传漏洞 可以借此上传漏洞后门 实现其他操作
版权归原作者 wanhars 所有, 如有侵权,请联系我们删除。