首页
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 等国际通用的名称,可视同
热门专题
python如何将字符串数组转换为整形数组
MVC5 AuthorizeAttribute类
一定要先走onBeginDrag 才走ondrag
js 拦截 src请求
centos7.9如何安装gcc
linux mysql 限制root连接权限
JarvisOJ Misc 炫酷的战队logo
ubuntu 切换管理员
zabbix监控ip流量
echarts 提示框显示全部值
imdouble函数
typescript span搜索并高亮文字
Java定义上个事务提交了的方法
利用random 的randint 方法写一个猜数字的小游戏
SAP alv修改金额后保存时增大1000倍
cv 2010无法安装
dart 比较时间已过期
golang高性能队列
Django models 主外连接
IfThen 在delphi7这么调用