xctf-ics-07

Posted -chenxs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xctf-ics-07相关的知识,希望对你有一定的参考价值。

首先管理页面进入到云平台项目管理中心

技术图片

 

 发现下面可以查看源码,点击view-source:

技术图片

 

 这个直接就绕过去了

看第二个

技术图片

 

 第二个需要满足$_SESSION[‘admin‘]==true才行,因此看看第三个php

技术图片

 

满足这个 isset($_GET[id]) && floatval($_GET[id]) !== ‘1‘ && substr($_GET[id], -1) === ‘9‘即可让$_SESSION[‘admin‘]==true

大概的意思就是存GET变量id,并且他的浮点数不等于1,且最后一位为9的字符串,‘1-9’即可满足

构造payload:

http://111.198.29.45:31864/index.php?page=flag.php&id=1-9

技术图片

 

 成功绕过,然后看看第二段代码,意思就是以post方式上传文件,post变量file代表文件名,con代表文件内容,且后缀名经过正则过滤了,然后上传路径原本在根目录下的/backup/目录下面,由于加了个chdir()函数,因此将根目录后面加上了/uploaded/目录,然后在跟/backup/目录。

最后的上传目录为:

/uploaded/backup/

正则的话是判断.之后的字符,因此我们可以利用‘/.’的方式绕过,这个方式的意思是在文件名目录下在加个空目录,相当于没加,因此达到绕过正则的目的。

post数据的payload为:

file=p.php/.&con=<?php phpinfo();?>

技术图片

 

 访问/uploaded/backup/p.php

技术图片

 

 已成功上传,那么直接写一句话上传,菜刀连接

技术图片

 

 找到flag.php打开后得到flag值。

以上是关于xctf-ics-07的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数