0
点赞
收藏
分享

微信扫一扫

在 Vue3 项目中如何关闭 ESLint

艾晓雪 2023-09-25 阅读 37
phpsql

[第五空间 2021]WebFTP

打开题目 发现是登录的界面 用admin和password试一下发现不行

用dirsearch扫一下

发现了git泄露 但是用githack下载不下来文件 去网上查了一下webftp 发现是一个在线php文件管理系统

WebFTP——在线FTP工具:强大的PHP在线文件管理系统-時日 在这篇博客中提到,引用一下

发现能直接登录phpinfo.php 拿到flag

[SWPUCTF 2021 新生赛]Do_you_know_http

页面显示 请使用browser浏览器

用bp抓包修改一下

 User- Agent中文名为用户代理,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识

修改之后,发现页面显示成功 ,在Location里边有一个./a.php 访问一下

访问后显示:

用xff来伪造一下

 得到flag

[SWPUCTF 2021 新生赛]ez_unserialize

没找到什么东西,而且还抓不到包,用dirsearch扫一下

打开看看这三个,在robots.txt找到了文件 打开看看

找到了源码  开始分析

解题

 得到序列化

 

构造payload:p=

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

得到flag

 

[SWPUCTF 2021 新生赛]easyupload1.0 

传php小马

 

传图片上去

发现成功

改文件类型试试

上传成功,连接蚁剑

 得到flag发现这个是错的

不在www目录下 去phpinfo里边看看

果然找到了 flag

附上源码

[SWPUCTF 2021 新生赛]easyupload2.0 

正常上传小马

 

 上传一句话木马失败

上传照片试一试

 上传照片成功,用bp抓包改一下类型看看

还是不行,把后缀改掉试试,上传phtml文件 发现成功

 蚁剑链接

在 /var/www/html/flag.php

 

附源码

[SWPUCTF 2021 新生赛]no_wakeup 

点击首页超链接,发现了反序列化,来解析

 

 得到序列化 然后在传参进行反序列化得到flag

 这里需要绕过__wakeup函数

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

只要让他的类型>2就可以了 payload :

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

得到flag

 [suctf 2019]EasySQL

 

尝试输入 1' and 1=1 发现不管是字符型还是数字型都显示nonon

 

输入1 显示

 应该是堆叠注入

看一下数据库信息,      1;show databases;

 找到了库 看表   1;show tables;

找到了字段

 看到Flag表,猜测flag应该在Flag中。但是用1;show columns from Flag;无法回显出flag只会回显Nonono.  -->说明flag被过滤掉了(注:1;show columns from用来查询表中列名称)

 

这里就涉及到了别的知识

这道题在最初测试的时候:非0数字回显1,0和字母不会回显任何内容

这里猜测后端语句,因为只有当我们输入非零数字时才会会显出1,而0和其他全都无回显,而猜测逻辑大致是这样的:大胆猜测后端(内部查询语句)语句中有||操作符,只有我们输入非零数字才会满足||的逻辑为True从而进行回显的条件。也就是满足:select 输入的内容 ||  一个列名 from 表名。(select 输入数据 || flag from Flag)

mysql中||表示连接操作符,不表示或的逻辑。
 既然我们要找到flag,后端又存在“或” 的逻辑,那么只需要把||或的逻辑改成连接符的作用就可以了

 利用PIPES_AS_CONCAT令||起到连接符的作用。

    注:这里的逻辑是先把||转换为连接操作符,注意分号隔断了前面的命令,所以要再次添加select来进行查询,这里把1换成其他非零数字也一样会回显flag

由此回显出flag

[SWPUCTF 2021 新生赛]PseudoProtocols 

页面显示

 

发现有参数 试试用php伪协议读取一下

base64解码

 还是用php伪协议读取

得到了一长串 解码发现了

file_get_contents() 把整个文件读入一个字符串中。

该函数是用于把文件的内容读入到一个字符串中的首选方法。如果服务器操作系统支持,还会使用内存映射技术来增强性能

这里要让需要让 $a 所表示的文件的内容存放I want flag,就需要用到另外一个伪协议 data协议,在我之前写的博客里边也有体现

 因为原本的输入字符会被过滤,所以要用base64加密

构造的payload:

test2222222222222.php?a=data://text/plain;base64,SSB3YW50IGZsYWc=(因为前边有base64编码,所以后边数据要用base64的格式)

[NISACTF 2022]easyssrf

我的博客里有详细的介绍,在这里就不详细的介绍了

输入flag 反馈  

说是ssrf 用file读取一下:

访问一下这个网页

 

 他说flag在/flag里边 用file读取不了 直接用php伪协议读取

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

解码得到flag NSSCTF{0202c5a3-75bf-4f0f-b315-0ddd83f691c7}

[ZJCTF 2019]NiZhuanSiWei 

成功绕过得到base64 编码 进行解码

反序列化内容

$password = unserialize($password);

同样要注意这句话 ,传参用password

最后的payload:

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

到最后一步输入的时候发现绕不过去,但是每一部分的绕过的没有问题,最后发现是第二步的file=useless.php就可以了,如果用php伪协议就绕不过去,百思不得其解......

 成功绕过

得到flag

NSSCTF{fda7d4be-2e43-48f8-9cff-ae56f975c077} 

 

 

 

举报

相关推荐

0 条评论