python盲注结合沙箱逃逸学习
发表于|更新于
|浏览量:
文章作者: Sauy
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Sauy's corner!
相关推荐
2025-04-27
CBC字节翻转攻击
CBC加密和解密过程 加密过程CBC加密流程: 准备 将明文按固定长度(通常是块大小,比如AES是128位)分块。 如果最后一块不足长度,需要填充(padding)。 选一个初始化向量(IV),它的长度跟分块大小相同。 加密每一块(第 i 块) 第1步:用当前明文块 PiP_iPi 和前一块密文(或IV)做异或(XOR)。 第一个块是$$C_0=Ek(P0⊕IV)$$ 第2步:将异或后的结果送入加密算法(E_k)(比如AES)加密,得到当前块的密文 Ci。 第3步:当前的密文块 CiC_iCi 会作为下一块明文的XOR对象。 循环处理每一块,直到全部加密完成。 解密过程1解密过程刚好相反,第一组密文在解密之后与初始向量IV异或得到第一组明文。第二组密文解密之后和第一组密文异或得到第二组明文。也就是说,解密一组明文需要本组和前一组的密文。 特点加密算法的输入是上一个密文分组和下一个明文分组的异或 EXB模式和CBC模式 CBC字节翻转攻击CBC字节翻转攻击的核心原理是通过破坏一个比特的密文来篡改一个比特的明文。 $$由题目得...
2025-04-20
浅谈python内存马
前言:想法来源于TGCTF的一道题 想具体学习下 内存马究竟是什么东西 Python内存马众所周知,python下有许多轻型框架,比如 flask Tornado pyramid等 每个框架都基本有其对应的内存马注入的方式 Flask内存马注入flask框架中使用 render_template_string() 进行渲染,但未对用户传输的代码进行过滤导致用户可以通过注入恶意代码来实现 python 内存马的注入。 老版flask内存马注入多存在ssti的场景中 如果想要在python中实现内存马 必须想是否能动态注册新路由 flask注册新路由用的是 app.route 实际调用的是add_url_ruel 注意:从下面一直到构造webshell 都是前言知识 为了让你更好理解 内存马的payloadadd_url_ruel介绍app.add_url_rule('/index/',endpoint='index',view_func=index) 三个参数: url:必须以/开头 endpoint:(站点) view_func:方法...
2025-04-10
pickle反序列化学习
前置知识详细前置知识可以看官方文档https://docs.python.org/zh-cn/3/library/pickle.html Pickle–Python对象反序列化Pickle1234pickle是python里一个可以对一个 Python 对象结构的二进制序列化和反序列化的模块。"pickling" 是将 Python 对象及其所拥有的层次结构转化为一个字节流的过程,而 "unpickling" 是相反的操作pickel可以看作一种独立的栈语言,其对opcode的编写可以进行python代码执行、变量覆盖等操作。 pickle序列化和反序列化对象 <–> 二进制字节流 12345678910111213import pickle class Person(): def __init__(self): self.age=18 self.name="A" p=Person()opcode=pickle.dumps(p)print(opcode)...
2025-04-06
原型链污染学习
原型链污染学习链接:https://www.leavesongs.com/PENETRATION/javascript-prototype-pollution-attack.html?page=1 node.jsjs创建对象的形式1.普通创建12var name={name:'sauy','age':'19'}var person={} 2.构造函数方法创建12345678910function person(){ this.name='sauy'; this.test=function (){ return 23333; }}person.prototype.a=3;web=new person();console.log(web.test());console.log(web.a) 3.通过object创建123var a=new...