随笔分类 -  Web安全

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

点击右上角即可分享
微信分享提示
主题色彩