攻防世界(三)Web_php_unserialize】的更多相关文章

题目: <?php class Demo {     private $file = 'index.php';    public function __construct($file) {         $this->file = $file;     }    function __destruct() {         echo @highlight_file($this->file, true);     }    function __wakeup() {         …
攻防世界系列:Web_php_unserialize 0x01.代码审计 1.类Demo中struct().destruct()函数分别在代码执行开始和结束时调用.而wakeup函数会在代码执行过程中自动调用. 2.对于我们传入的参数还要被preg_math()函数过滤. 3.在 PHP5 < 5.6.25, PHP7 < 7.0.10 的版本存在wakeup的漏洞.当反序列化中object(对象)的个数和之前的个数不等时,wakeup就会被绕过. 4.flag 在 fl4g.php 文件中,…
攻防世界 WEB 高手进阶区 XCTF Web_php_unserialize Writeup 题目介绍 题名考点 PHP反序列化漏洞 正则匹配 Writeup <?php class Demo { private $file = 'index.php'; public function __construct($file) { $this->file = $file; } function __destruct() { echo @highlight_file($this->file,…
0x00 考察点 考察点有三个: ROP链构造 Got表劫持 pwntools的shutdown功能 0x01 程序分析 上来三板斧 file一下 checksec --file XXX chmod 777 XXX加上./XXX 运行一下 静态调试 打开IDA-64,一路默认,看到main函数: 可以看到执行的功能是先输入字符串长度,然后输入字符串,接着会返回指定长度的输入字符串.如果一开始输入的数字小于16,会指定长度为16.可以看到很明显的栈溢出漏洞.但是又有些不一样,看大神WP才知道需要s…
学校信安协会第一次培训结束后的作业,要求把攻防世界的web新手区题目做一遍并写题解. 第一题 view_source 查看源代码右键不能用,但是F12能用,于是找到源代码 输入到flag框即可 后来在网上看到可以在url前面插入view-source:来查看网页源代码 第二题 get_post 题目描述点明了该题要用到关于http的两种请求方式,那么就要学习一下http的几种请求方式. 查阅各种博客之后,发现get的请求方式直接在url框内输入就好,而post的请求方式需要用其他方式写入参数,有…
攻防世界web新手区 第一题view_source 第二题get_post 第三题robots 第四题Backup 第五题cookie 第六题disabled_button 第七题simple_js 第八题xff_referer 第九题weak_auth 第十题webshell 第十一题command_execution 第十二题simple_php 第一题view_source f12查看源码 第二题get_post 1按照提示先get一个a=1,在post一个b=2,就行 第三题robots…
攻防世界-Web_php_include   (考察的是文件包含) 打开页面是这样一段代码从代码中得知page中带有php://的都会被替换成空 str_replace()以其他字符替换字符串中的一些字符(区分大小写) strstr() 查找字符串首次出现的位置.返回字符串剩余部分 <?php show_source(__FILE__); echo $_GET['hello']; $page=$_GET['page']; while (strstr($page, "php://"…
维吉尼亚密码 维吉尼亚密码是使用一系列 凯撒密码 组成密码字母表的加密算法,属于多表密码的一种简单形式. 加密原理 维吉尼亚密码的前身,是我们熟悉的凯撒密码. 凯撒密码的加密方式是依靠一张字母表中的每一个字母做一定的偏移.密文生成过程中,其偏移量相等. 而,升级版的维吉尼亚密码则是在原有基础上,让相等偏移量变为不等的偏移量.以给出的密钥来确定密文的偏移量.在一定程度上,加大了解密的难度. 当然原理还是一致的,都是依靠偏移量进行加密. 简单例子 这是一张用于加密的字母表. 比如给出的 明文是 HE…
[Crypto] 题目链接 [RSA算法解密] 审题分析 首先拿到一个压缩包,解压得到文件enc.txt. 先不用去管其他,第一眼enc马上联想到 RSA解密.接着往下看 [{"c": 73660675747411714617220651332429160804955059136632503300827474653836768939704114765507483948414374181053123539710950034243226796169403711230289821895020…
攻防世界welpwn (搬运一篇自己在CSDN写的帖子) 链接:https://blog.csdn.net/weixin_44644249/article/details/113781356 这题主要是考无Libc泄露地址和栈空间控制,在没有Libc的情况下,可以使用LibcSearcher进行动态匹配,匹配完成后会给出选项,选择libc的版本即可.如果不知道版本可以一个个试. 安装LibcSearcher git clone https://github.com/lieanu/LibcSear…