其他系统库类型下的SQL注入
其他系统库类型下的SQL注入尝试过直接去看别人总结的相关的其他数据库的SQL注入方式,但是感觉很难理解,所以我打算先从学习其他类型数据库的结构逐渐深入 数据库结构大多数数据库结构都与MySQL相差不大: 123456789MySQL 实例 Instance └── Database / Schema └── Table ├── Column ├── Row ├── Index ├── View ├── Trigger └── Procedure / Function 在MySQL中,database和schema基本可以看成同一个概念 12CREATE DATABASE shop_db;CREATE SCHEMA shop_db; 这两个在MySQL中差不多是同义用法 不过既然这样设计那为什么还需要schema呢? schema的核心作用其实就三个词:命名空间隔离、权限控制和逻辑分组,没有schema的架构...
常规外网打点
常规外网打点(持续更新中……)spring-bootactuator泄露参考:可造成敏感信息泄露!Spring Boot Actuator信息泄露漏洞三种利用方式总结 - FreeBuf网络安全行业门户 Springboot之Actuator信息泄露漏洞利用_spring actuator 漏洞-CSDN博客 actuator是帮助管理和监控Spring-Boot应用的模块,这个模块采集应用的内部信息,展现给外部模块,可以查看应用配置的详细信息,例如自动化配置信息、创建的Spring beans信息、系统环境变量的配置信息以及web请求的详细信息等。 如果没有正确使用Actuator,可能造成信息泄露等严重的安全隐患(外部人员非授权访问Actuator),其中heapdump作为Actuator组件最为危险的web端点,heapdump因未授权访问被恶意人员获取后进行分析,可进一步获取敏感信息 1.x版本1234567891011121314151617/configprops #显示所有@ConfigurationProperties/env #公开Spring的Configu...
信息搜集
信息搜集Google HackingGoogle Hacking(也常被称为Google Dorking)是一种利用搜索引擎(特别是Google)的高级搜索操作符来发现隐藏在公共互联网上的敏感信息、漏洞或配置错误的攻击或信息收集技术。 高级搜索操作符参考:https://zhuanlan.zhihu.com/p/400365865 site用于限制搜索范围,只在特定的域名或网站内进行搜索 12site:example.com#只在example.com及其子域名下搜索 filetype和exp用于指定文件类型,只搜索具有特定扩展名的文件 123site:baidu.com filetype:pdfsite:baidu.com ext:pdf#表示查找在baidu.com站点上文件类型为pdf的网页 intitle和allintitle用于限制网页标题,只搜索网页标题中带有特定词语的页面 12intitle:百度#只返回标题中包含百度的网页 这里需要提一下intile和allintitle的区别: 123456intitle:百度 登录#表示搜索标题中包含百度的网...
SSTI模板注入
SSTI注:在本博客中所看到所有raw和endraw内容都是为了避免hexo报错所写,各位师傅在实验payload的时候切记不要带上raw和endrawSSTI,即服务端模板注入,是一种存在于 Web 应用程序中的严重安全漏洞。当攻击者能够利用现有的模板引擎(如 Jinja2、Twig、FreeMarker、Thymeleaf 等)注入恶意代码,并在服务器端被解析和执行时,就会发生SSTI漏洞。本文不涉及jinja2模版下的注入payload。 Twig参考:https://www.anquanke.com/post/id/246093#h2-0 Twig是php中的模版引擎,类似于python中的jinja2,同样利用{{}}来输出变量,{%%}来执行逻辑控制,当服务器不加修饰地将用户输入内容拼接到页面中,就可能出现SSTI模板注入,恶意代码示例:<h1>Hello, {{ name }}!</h1>,当用户传参?name=ZLARYY,那么页面就会显示 ...
XXE
XXEXXE,也叫做XML外部实体注入,它通常允许攻击者查看应用程序服务器文件系统上的文件,并与应用程序本身可以访问的任何后端或外部系统进行交互。 在某些情况下,攻击者可以利用 XXE 漏洞联合执行服务器端请求伪造(SSRF) 攻击,从而提高 XXE 攻击等级以破坏底层服务器或其他后端基础设施。 payload结构利用XXE读取文件的一种payload格式如下: 1234567<?xml version="1.0" encoding="utf-8"?><!DOCTYPE root [ <!ENTITY xxe SYSTEM "file:///etc/passwd">]><root> <username>&xxe;</username></root> 其中 1<!DOCTYPE root [ ... ]> 原本用来定义文档合法结构,这里用来在[]中声明恶意的自定义实体 1<!ENTITY xxe SYSTE...
flask的session伪造与filter-chain
flask session伪造参考:https://www.cnblogs.com/GTL-JU/p/16960460.html https://paoka1.top/2022/05/28/Flask-%E7%9A%84-SESSION-%E4%BC%AA%E9%80%A0/ 在最近的几次比赛中都遇到了这个session,格式特别像JWT,没有了解过这个内容很可能混淆,所以这里学习一下 flask的session结构这里我们可以用flask搭建一个本地网站生成session: 12345678910111213from flask import Flask, session, requestapp = Flask(__name__)app.secret_key = 'ZLARYY'@app.route('/',methods=['GET'])def set_session(): name = request.args.get('name') session['name'...
沙箱逃逸
沙箱逃逸参考:https://www.freebuf.com/articles/web/422169.html https://www.freebuf.com/articles/system/203208.html 沙箱是一种安全机制,用于为运行中的程序提供一个隔离的环境 系统把不信任的程序(比如网页上的 JavaScript、下载的未知文件、或者某个特定的应用)放在沙箱里运行。在这个环境里,程序只能访问被严格限制的资源(如少量的内存、特定的临时文件夹),它无法读取私人文件、修改操作系统核心设置或感染其他程序。 那么沙箱逃逸就是指被隔离在沙箱内部的恶意代码,利用了沙箱本身的漏洞或配置缺陷,打破了隔离边界,成功获取了沙箱外部系统(宿主机操作系统)的访问权限。 这里我在kali虚拟机上直接搭建了一个形似CTF题目环境的本地测试页面: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768...
Pickle反序列化与Python原型链污染
Pickle反序列化本文参考这两篇:https://goodapple.top/archives/1069 https://blog.csdn.net/m0_73512445/article/details/135156437 Pickle在学习pickle反序列化之前先了解一下什么是pickle: pickle是Python中一个能够序列化和反序列化对象的模块。和其他语言类似,Python也提供了序列化和反序列化这一功能,其中一个实现模块就是pickle。在Python中,“Pickling” 是将 Python 对象及其所拥有的层次结构转化为一个二进制字节流的过程,也就是我们常说的序列化,而 “unpickling” 是相反的操作,会将字节流转化回一个对象层次结构。 通俗点讲,pickle序列化与反序列化就是数据保存与数据读取 可序列化对象: None,True 和 False 整数、浮点数、复数 str、byte、bytearray 只包含可封存对象的集合,包括 tuple(元组)、list、set 和 dict 定义在模块最外层的函...
低版本php下信息泄露的CVE漏洞与反弹shell
低版本php下信息泄露的CVE漏洞为了复现这个漏洞拉个docker老是出问题,直接把这篇文章(https://blog.csdn.net/Kawakaze_JF/article/details/133046885?sharetype=blogdetail&shareId=133046885&sharerefer=APP&sharesource=2503_93592530&sharefrom=qq)里的命令借来用用吧: 1234567891011121314151617apt-get install docker.io//下载dpckerservice docker start//启动dockerdocker pull php:7.4.21 //拉取php 7.4.21的镜像docker run -it -p 8080:80 4ad229e4e700 /bin/bash//运行镜像 将docker 的80端口映射到kali的8080端口echo "<?php \$flag=ZLARYY{2L47yY}"...
文件包含
文件包含本文主要涉及临时文件包含,session文件包含,日志文件包含等特殊的文件包含技巧,除此之外相关伪协议见本博客SSRF各种协议 临时文件包含当我们在给PHP发送POST数据包时,如果数据包里包含文件区块,无论你访问的代码中有没有处理文件上传的逻辑,PHP都会将这个文件保存成一个临时文件。文件名可以在$_FILES变量中找到。这个临时文件,在请求结束后就会被删除。phpinfo页面会将当前请求上下文中所有变量都打印出来,所以我们如果向phpinfo页面发送包含文件区块的数据包,则即可在返回包里找到$_FILES变量的内容,拿到临时文件变量名之后,就可以进行包含执行我们传入的恶意代码。 关于临时文件我们需要伪造一个POST提交文件的请求包,上传的文件信息会保存在$_FILES里面,$_FILES超级全局变量很特殊,他是预定义超级全局数组中唯一的二维数组。我们也可以通过使用var_dump查看$_FILES的内容 123456$_FILES['userfile']['name'] 客户端文件的原名称。$_FILES['userf...
