随笔分类 - Web安全
摘要:简介 Session文件包含,实质就是SESSION_UPLOAD_PROGRESS 的利用 Session Upload Progress 即 Session 上传进度,是php>=5.4后开始添加的一个特性。官网对他的描述是当 session.upload_progress.enabled 选项
阅读全文
摘要:前言 伪造用户登录的攻击面也是特别广 伪造用户需要 Key,所以隐藏 key的方法就有很多 uuid.getnode()函数隐藏 key Session反序列化 环境变量藏 KEY,软连接读任意文件读取 pickle反序列化/proc/self/environ获取环境变量 SSTI读取环境变量 例题
阅读全文
摘要:Session序列化攻击 PHP在session存储和读取时,都会有一个序列化和反序列化的过程,PHP内置了多种处理器用于存取 $_SESSION 数据,都会对数据进行序列化和反序列化 php有三种session存储处理引擎,参考lemon师傅的表: 下面根据代码,来看一下session的实际情况。
阅读全文
摘要:前言 刷题中遇到很大关于session相关的题目,这里总结一波 session基础知识 这里主要讲讲传统的PHP中的“服务端Session”。至于什么是服务端Session,什么是客户端Session,可以看看P神的客户端 session 导致的安全问题 Session概念:在计算机中,尤其是在网络
阅读全文
摘要:1.预编译,绑定变量 基本上大家都知道 采用sql语句预编译和绑定变量,是防御sql注入的最佳方法。但是其中的深层次原因就不见得都理解了。 String sql = "select id, no from user where id=?"; PreparedStatement ps = conn.p
阅读全文
摘要:前言 学习了sql注入很长时间,但是仍然没有系统的了解过,这次总结一波,用作学习的资料。 从注入方法分:基于报错、基于布尔盲注、基于时间盲注、联合查询、堆叠注入、内联查询注入、宽字节注入 联合查询 即多表之间的查询 联合查询分类 内连接(inner Join 或 Join) 交叉连接 (cross
阅读全文
摘要:redis入门 基础内容可以在菜鸟教程 redis实践 环境搭建 攻击机:kali redis4-5 靶机:Ubuntu redis4-5 apt install redis-server#安装即可 Ubuntu下 redis日志文件地址 /var/log/redis/redis-server.lo
阅读全文
摘要:1.导出函数写shell 触发条件 网站绝对路径 secure_file_priv 的值非NULL或包含了导出的绝对路径 mysql服务有对网站可访问路径的写权限 .mysql连接用户有FILE权限/ROOT用户或ROOT权限 可以使用如下语句 show global variables like
阅读全文
摘要:前言 转载https://www.freebuf.com/articles/web/264593.html 基础绕过 1. 大小写绕过 用于过滤时没有匹配大小写的情况: SeLECt * from table; 2. 双写绕过 用于将禁止的字符直接删除的情况: 比如,使用preg_replace()
阅读全文
摘要:前言 遇到很多次原型链知识点的考题,每次都被爆锤,下次不想了呀。。。 JavaScript原型 javascript中的类,在java和php中使用class来定义类,而是通过函数定义的方法。 JavaScript 常被描述为一种基于原型的语言 (prototype-based language)—
阅读全文
摘要:Pickle原理剖析 为什么需要Pickle 如果我们需要存储的东西是一个dict、一个list,甚至一个对象,依然选用存储字符串的方法就很繁琐。所以需要序列化 序列化:对象-->字符串 反序列:字符串-->对象 各大语言都有自己的反序列库,而Python的库就是Pickle 比如下图,显示了对象的
阅读全文
摘要:基础知识 序列化其实就是将数据转化成一种可逆的数据结构,自然,逆向的过程就叫做反序列化。 php 将数据序列化和反序列化会用到两个函数 serialize 将对象格式化成有序的字符串 unserialize 将字符串还原成原来的对象 序列化的目的是方便数据的传输和存储,在PHP中,序列化和反序列化一
阅读全文
摘要:## leve-1 无任何过滤,get 型,直接<script>alert(1)</script> 2. 方法一:闭合 input 标签里面的"><script>alert(1)</script> 方法二:闭合 value 属性,在 input 标签中添加新的属性" onclick="alert(1
阅读全文
摘要:一、后缀黑名单绕过 1.前端 JS 绕过 可以直接更改 js 源码,允许上传 PHP 文件 也可以直接删除 2.只验证 Content-type if (file_exists(UPLOAD_PATH)) { if (($_FILES['upload_file']['type'] == 'image
阅读全文
摘要:先上图 PAGE-1(Basic Challenges) 一、GET 篇 1.2 最基本方法 判断注入类型 http://127.0.0.1/sqli-labs/Less-1/?id=1正确返回 http://127.0.0.1/sqli-labs/Less-1/?id=1'出现报错显示 http:
阅读全文
