SQL to RCE
有一些陈旧、庞大的系统中,因为一些复杂的原因,往往仍在使用 sa 账户登入 SQL Server,而在有如此高权限的资料库账户权限下,我们可以轻易利用 xp_cmdshell 来执行系统指令,但是这是几乎不可能的,我们取得的数据库账户必然是低权限,但因为发现的 SQL 注入是堆叠注入,我们仍然可以对表进行 CRUD,运气好可以控制一些网站设定变数的话,甚至可以直接 RCE 就比如我们可以发现某些特殊的数据库: 123456Database: ASPState[2 tables]+---------------------------------------+| dbo.ASPStateTempApplications || dbo.ASPStateTempSessions |+---------------------------------------+ 这个数据库的存在用途是用来保存 ASP.NET 网站应用程式的 session。 在 ASP.NET 网站应用程式里,Session(会话数据,比如用户登录状态、购物车资料)...
Python Bottle SSTI
XYCTF 中碰到的 Bottle 框架,当时做题根本没想到通过审计框架代码找漏洞点,也是学到新东西了 Bottle 简介Bottle 是一个 Python 的轻量级 Web 框架,完全依赖标准库(除了 wsgi 的部分),体积非常小(一个 .py 文件就能运行),适合写小型 Web 应用、API 或原型系统。它的设计理念是 “单文件、零依赖”,所以部署非常方便。 主要特点 特点 说明 单文件 框架代码就是一个 bottle.py 文件,方便直接打包或拷贝 零依赖 除了 Python 标准库外不需要额外安装其它库 内置开发服务器 用 run() 就能启动 HTTP 服务 支持多模板引擎 默认内置 SimpleTemplate,也支持 Jinja2、Mako 等 路由简洁 使用装饰器 @route() 定义 URL 对应的处理函数 WSGI兼容 可以在任何 WSGI 服务器(如 gunicorn、uWSGI)上部署 内置常用工具 请求/响应处理、静态文件服务、Cookie、表单解析等 基本结构示例1234567from bottle...
LilCTF2025-wp
比赛这两天一直在驾校练车,没时间打比赛,所以没出几道,排名也是很拉,就不放截图了 CRYPTO密码没学过,全是ai ez_math12345678910111213141516171819202122from sage.all import *from Crypto.Util.number import *flag = b'LILCTF{test_flag}'[7:-1]lambda1 = bytes_to_long(flag[:len(flag)//2])lambda2 = bytes_to_long(flag[len(flag)//2:])p = getPrime(512)def mul(vector, c): return [vector[0]*c, vector[1]*c]v1 = [getPrime(128), getPrime(128)]v2 = [getPrime(128), getPrime(128)]A = matrix(GF(p), [v1, v2])B = matrix(GF(p), [mul(v1,lambda...
XYCTF2025-wp
比赛是之前打的,但是一直没有复盘,暑假闲来无事故决定复盘一下,也是作为复习 WEBfate12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182#!/usr/bin/env python3import flaskimport sqlite3import requestsimport stringimport jsonapp = flask.Flask(__name__)blacklist = string.ascii_lettersdef binary_to_string(binary_string): if len(binary_string) % 8 != 0: raise ValueError("Binary string length must be a multiple of 8"...
校赛题目推断
之前因为期末的原因没有去打,现在闲下来了突然想起来,但是现在已经不开放了,所以就进行一个通过题目名称猜测题目内容的活动,也是水一篇blog,顺便鉴定一下学长的成分( 下面是题目列表 1234567891011121314151617181920212223MiscHTTPS怎么也不安全 张静媛学姐的秘密文件 段涵涵学姐最爱的音乐 流量分析-1 流量分析-2 流量分析-3 流量分析-4 流量分析-5 流量分析-6 流量分析-7 流量分析-8CryptoBase141 RSA你太baby了 愤怒的笑笑Webbusy_search can_u_escape ez?upload2 ez_upload give!me!money! lottery签到重生版 pop之我又双叒叕重生了 u_know? 函数重生版 小猿口算签到重生版Reversemaze IDA Xor rere sw1f7's TEA sw1f7's XXTEAMobilease_androidOSINT杜浩学姐の朋友圈 杜浩学姐の旅行 MISC总体还是比较难猜,直接放弃 WEB还是这个稍稍好猜一点点,...
SQL预编译——预编译真的能完美防御SQL注入吗
SQL注入原理sql注入是指攻击者拼接恶意SQL语句到接受外部参数的动态SQL查询中,程序本身未对插入的SQL语句进行过滤,导致SQL语句直接被服务端执行。拼接的SQL查询例如,通过在id变量后插入or 1=1这样的条件,来绕过身份验证,获得未授权数据的访问权。 1SELECT * FROM user WHERE id = -1 or 1=1 由于or 1=1 满足永真结果,sql语句会执行输出user中的全部内容。 那么这么危险的漏洞,有没有办法进行阻止呢 有的兄弟,有的 预编译就能解决大部分的SQL注入问题 什么是预编译(Prepared Statement)?预编译就是在执行 SQL 前,把 SQL 语句先告诉数据库服务器,编译好结构,然后再单独传参数进去执行! 它的全名叫: Prepared Statement(预处理语句 / 预编译语句) 正常写 SQL 是怎样的?我们先看看普通的拼接 SQL 是怎样的: 123username = input("请输入用户名:")sql = "SELECT * FROM u...
2021 OWASP TOP 10
近些年漏洞的威胁分类也发生了很大变化,王道SQL注入也慢慢淡出历史的舞台,最新OWASP Top Ten | OWASP Foundation版,分类和排名都变化了很多 [TOP1]失效的访问控制访问控制失效指的是:系统没有正确限制用户访问资源或功能,导致用户可以访问本不该访问的内容或操作 具体的例子:用户越权访问 用户 A 修改自己的资料: 1POST /api/user/update?id=1001 他把 ID 改成了管理员的 ID: 1POST /api/user/update?id=1 没有权限校验?那就直接修改管理员信息成功了 水平越权普通用户访问了其他用户的数据,比如: 1GET /api/orders/123456 → 返回了别人的订单信息(严重泄露) 垂直越权普通用户调用了管理员接口: 1POST /api/admin/delete_user?id=2 如果没检查角色权限,就能直接删号 前端控制误信前端隐藏了按钮,认为“用户就点不到”: 12<!-- 管理员按钮 --><button style="display: ...
Wie wird man seinen Schatten los?
Wen soll man fragen , wenn man sich selber nicht versteht ? 若你不曾了解自己,又该向谁究问何事? Wie kann man frei sein , wenn man seinem eigenen Scatten nie entgeht ? 若你不曾逃离傍身之影,又该从何得到自由解脱? Was soll mir die Unsterblichkeit ? Vor dem Sterben will ich leben 不朽于我毫无价值,所求无非向死而生 Der Grabgeruch der Lorbeergruft , betäubt mich nieht mehr 陵墓的腐蠹之气,将不再诱我沉迷 Angst , die mir den Atem raubt , blei auf meinen Schultern 恐惧扼住咽喉,如枷锁禁锢我的双臂 Schweign , das mir Fragen stellt,und keine Antwort gibt auf mein Warum 我向沉默发问,沉默却愈发震耳欲...
云函数实现代理绕过ip封锁
云函数可以用来搭建一个轻量代理池或 IP 中转机制,原理上跟传统代理池类似,虽然匿名性不如高匿商业代理,但在做扫描器等任务时依然方便实用,前提是控制好访问频率和风险 配置函数代码123456789101112131415161718192021222324252627282930313233343536373839404142# -*- coding: utf8 -*-import jsonimport picklefrom base64 import b64decode, b64encodeimport requestsSCF_TOKEN = "TOKEN" #需要自定义随机值,用于鉴权def authorization(): return { "isBase64Encoded": False, "statusCode": 401, "headers": {}, "body": "...
云函数隐藏C2
核心思想核心思想其实很简单,就是用第三方提供的服务接收 C2 客户端的流量,转发给 C2 服务端,避免直接暴露服务端,也可以用加白的域名混淆视听避免蓝队人员发现攻击和反连行为 12345 运行木马 收到上线包┌─────▼─────┐ ┌─────▼─────┐ ┌──────▼───────┐│ 受害主机 │--发送上线包->│ 国内某公有 |---上线包->│ Cobalt Strike││ │<-执行命令----│ 函数转发 │<-执行命令-│ 服务器 |└───────────┘ └───────────┘ └──────────────┘ 第三方服务最好具备以下特点: 国内外访问速度都很快 国外厂商 价格便宜(有钱可以忽略) 主动提供免费加速域名(同上) 云函数配置首先进入腾讯云创建一个自定义函数,运行环境选 python,将...








