首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
PHP反序列化 绕过正则字母
2024-09-05
php反序列化漏洞绕过魔术方法 __wakeup
0x01 前言 前天学校的ctf比赛,有一道题是关于php反序列化漏洞绕过wakeup,最后跟着大佬们学到了一波姿势.. 0x02 原理 序列化与反序列化简单介绍 序列化:把复杂的数据类型压缩到一个字符串中 数据类型可以是数组,字符串,对象等 函数 : serialize() 反序列化:恢复原先被序列化的变量 函数: unserialize() 1 <?php 2 $test1 = "hello world"; 3 $test2 = array("hello"
bugku数字验证绕过正则
题目:http://120.24.86.145:9009/21.php 第6行使用正则匹配如果匹配到$password开头12个字符中有空格则输出flag并执行exit; 12行是正则匹配$password里的字符是否大于6,如果小于则echo hello world然后break所以一定要大于6才行. 19-28行是表示要将$password里使用正则匹配,满足达到3次或三次以上(也就是说$password里要有满足正则的三个要求) 最终的还要求$password等于42 <?php erro
浅谈PHP反序列化漏洞原理
序列化与反序列化 序列化用途:方便于对象在网络中的传输和存储 0x01 php反序列化漏洞 在PHP应用中,序列化和反序列化一般用做缓存,比如session缓存,cookie等. 常见的序列化格式: 二进制格式 字节数组 json字符串 xml字符串 序列化就是将对象转换为流,利于储存和传输的格式 反序列化与序列化相反,将流转换为对象 例如:json序列化.XML序列化.二进制序列化.SOAP序列化 而php的序列化和反序列化基本都围绕着 serialize(),unserialize()这两个
PHP序列化及反序列化分析学习小结
PHP反序列化 最近又遇到php反序列化,就顺便来做个总结. 0x01 PHP序列化和反序列化 php序列化:php对象 序列化的最主要的用处就是在传递和保存对象的时候,保证对象的完整性和可传递性.序列化是把对象转换成有序字节流,以便在网络上传输或者保存在本地文件中.序列化后的字节流保存了php对象的状态以及相关的描述信息.序列化机制的核心作用就是对象状态的保存与重建. php反序列化:php客户端从文件中或网络上获得序列化后的对象字节流后,根据字节流中所保存的对象状态及描述信息,通过反序列化重
Suctf知识记录&&PHP代码审计,无字母数字webshell&&open_basedir绕过&&waf+idna+pythonssrf+nginx
Checkin .user.ini构成php后门利用,设置auto_prepend_file=01.jpg,自动在文件前包含了01.jpg,利用.user.ini和图片马实现文件包含+图片马的利用. 而.htacess构造后门是通过上传.htaccess设置AddType application/x-httpd-php .jpg,将jpg文件作为php解析,getshell 补上脚本: 修改下与easyphp中的可以通用 import requests import base64 url = "
[原题复现+审计][ZJCTF 2019] WEB NiZhuanSiWei(反序列化、PHP伪协议、数组绕过)
简介 原题复现:https://github.com/CTFTraining/zjctf_2019_final_web_nizhuansiwei/ 考察知识点:反序列化.PHP伪协议.数组绕过 线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 过程 打开页面看到源码先审计 大致分析flag在flag.php里面 先想办法绕过这些限制到达 文件包含那一块 绕过file_get_contents() 将welcom
CTF PHP反序列化
目录 php反序列化 一.序列化 二.魔术方法 1.构造函数和析构函数 2.__sleep()和__wakeup() 3.__toString() 4.__set(), __get(), __isset(), __unset() 5.其他 三.序列化细节 1.序列的含义 2.public.protected.private下序列化对象的区别 四.反序列化的利用 五.Session序列化问题 六.Phar反序列化 php反序列化 一.序列化 所有php里面的值都可以使用函数serialize()来
[11期]绕过安全狗、云锁等各大WAF注入,上传深入自动化Bypass攻击
CDN 负载均衡.内容分发 解析漏洞一般在服务层 二进制,溢出,提权在系统层 渗透测试就是以上全部层 协议未正确解析 GET改POST 这叫参数污染 cookie 改一个较大的值 有的waf承受不了这么大的值,参数污染 HTTP参数污染 HPP参数污染 使用多个无用值或者重复值提交到数据包中达到攻击 提交两个filename值,这要看具体什么服务器,两个一样的参数是哪一个参数生效 waf有正则匹配拦截,我们要找到拦截点在哪里.绕过
linux命令绕过
前言: 做ctf时常常会遇到一些正则匹配将一些linux命令给过滤掉,这里将总结一些针对性的绕过方式. 一.空格绕过: {cat,flag.txt} cat${IFS}flag.txt cat$IFS$9flag.txt cat<flag.txt cat<>flag.txt kg=$'\x20flag.txt'&&cat$kg (\x20转换成字符串就是空格,这里通过变量的方式巧妙绕过) 二.敏感字符绕过: 假设过滤了cat 1.利用变量绕过: ac;b=at;$a$b
2016 piapiapia 数组绕过
0x00.感悟 写完这道题,我感觉到了扫源码的重要性.暑假复现的那些CVE,有的就是任意文件读取,有的是任意命令执行,这些应该都是通过代码审计,得到的漏洞.也就和我们的CTF差不多了. 但是我们扫目录,字典是个大问题,我目前还没有搞懂为什么有些文件,只能被一些特定的软件扫到.比如这道题,这个dirsearch,连www.zip这样的变态目录都能扫出来,为什么扫不出update.php这样极其常见的目录.而且题目的源码,就只能用dirsearch扫到,dirb和nikto就不行.
正则表达示 for Python3
前情提要 从大量的文字内容中找到自己想要的东西,正则似乎是最好的方法.也是写爬虫不可缺少的技能.所以,别墨迹了赶紧好好学吧! 教程来自http://www.runoob.com/python3/python3-reg-expressions.html,感谢菜鸟教程. 一. 在Python3中 正则为 re 模块 import re 二.re.match函数 re.match –>从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话match()就返回none,语法: re.match(p
PHP check 的一些绕过技术
绕过空格 $_GET[str]=str_replace(" ","",$_GET[str]); ${IFS} 但不能写作 $IFS $IFS$ % 绕过echo拼接 system("echo \"$_GET[str]\";"); 执行命令加上反引号 `cat /flag` 双引号闭合 与 | 分割(或 &后台 &&判读 在URL中均要进行URL编码) 绕过符号 $_GET[str]=str_repla
BUUCTF知识记录
[强网杯 2019]随便注 先尝试普通的注入 发现注入成功了,接下来走流程的时候碰到了问题 发现过滤了select和where这个两个最重要的查询语句,不过其他的过滤很奇怪,为什么要过滤update,delete,insert这些sql语句呢? 原来这题需要用到堆叠注入: 在SQL中,分号(;)是用来表示一条sql语句的结束.试想一下我们在 ; 结束一个sql语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入,而堆叠注入可以执行任意sql语句 这下就好理解了,过滤上面那些语
Buu刷题
前言 希望自己能够更加的努力,希望通过多刷大赛题来提高自己的知识面.(ง •_•)ง easy_tornado 进入题目 看到render就感觉可能是模板注入的东西 hints.txt给出提示,可以看到url中的filehash 呢么意思就是如果知道cookie_secret的话,再结合md5的filename就可以读到/flllllag了把 其实到这里我就没什么思路了,对于render肯定存在模板的问题,百度了一下标题tornado Tornado是一种 Web 服务器软件的开源版本.Torn
Web_php_unserialize解题思路
分析一下 __construct:当使用 new 操作符创建一个类的实例时,构造方法将会自动调用 __destuct:在销毁一个类之前执行执行 __wakeup,unserialize()` 会检查是否存在一个`__wakeup()` 方法.如果存在,则会先调用 `__wakeup` 方法,预先准备对象需要的资源. 检查变量var是否存在然后在base64解密 正则过滤了首字母为o或c,冒号,一个或多个数字,冒号,忽略大小写 成功提示stop hacking,失败反序列化var变量 程序结束会销
最新安全狗 apache v4.0 sql注入 bypass
前言 最近没事学习一下 waf 的 bypass , 本文介绍下 bypass 安全狗的笔记.个人感觉 bypass 的总思路(正则匹配型 waf)就是利用各种语法特性来逃避正则(当然要保证语法正确性的前提下) 测试环境: phpstudy + 安全狗Apache版 V4.0. burp + hackvertor 插件 判断注入 判断字符型注入还是数字型 往数字后面加若干个字母,如果结果不变应该是字符型注入,因为 mysql 的弱类型会把 1xxxx 转换成 1 引入逻辑表达式进行判断 利用 M
NCTF2018 Easy_Audit的writeup
题目直接给出来代码 这题考几个点: 1.$_REQUEST的变量覆盖 2.编码绕过 3.PHP数组特性 4.正则绕过 5.file_get_contents函数 首先一步步把题目分析一遍 if($_REQUEST){ foreach ($_REQUEST as $key => $value) { if(preg_match('/[a-zA-Z]/i', $value)) die('waf..'); } } 上述代码把$_GET,$_POST,$_COOKIE传进来的值进行了正则匹配,如果包含了A
LCTF wp简单复现
1.T4lk 1s ch34p,sh0w m3 the sh31l 代码如下: <?php $SECRET = `../read_secret`; $SANDBOX = "../data/" . md5($SECRET. $_SERVER["REMOTE_ADDR"]); $FILEBOX = "../file/" . md5("K0rz3n". $_SERVER["REMOTE_ADDR"]); m
Java权威编码规范
一.编程规约 (一) 命名规约 1. [强制] 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束. 反例: _nam / __name / $Object / name_ / name$ / Object$2. [强制] 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式. 说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义.注意,即使纯拼音命名方式也要避免采用. 反例: DaZhePromotion [打折] / getPingfenByName
阿里巴巴 Java 开发手册 1.4.0
一.编程规约(一) 命名风格1. [强制]代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束.反例: _name / __name / $name / name_ / name$ / name__2. [强制]代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式.说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义.注意,即使纯拼音命名方式也要避免采用.正例: alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同
热门专题
springboot 上传csv到数据库
java读取excel时间格式
unity柏林噪声焊接
transform是1什么属性
hive 计算设置合并小文件
立陶宛的移动国家码是多少
robotframework 调用rest服务 post
list排序java 8 降序
soucretree冲突删错了怎么办
icemblock的边线怎么结合
wxpython4.0.7下载
用eclipce做百度登录界面
office 4天到期
odk下发虚拟机,报如下错误
unbuntu更换docker镜像库
一个交易中的tx.origin能改变吗
linux线程资源释放
web页面图片加载过慢导致刷新时页面上下滚动
centos java 项目开机重启
centos6和centos7 防火墙区别