您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页web基础漏洞之命令执行漏洞

web基础漏洞之命令执行漏洞

来源:华佗小知识

命令执行漏洞

windows系统常用命令拼接符号

空格过滤 echo$IFS123(错误用法 ) $IFS在linux下表示分隔符,相当于一个空格。但是如果单纯的echo$IFS123,bash解释器会把整个IFS123当做变量名,所以导致输不出结果,因此这里加一个{}就固定了变量名1.echo${IFS}123(正确用法)输出:1232.如果目标服务器过滤了大括号"{}",这时${IFS}就不管用了,再回过头看看第一次尝试的写法echo$IFS123,shell执行命令时有没有什么办法让shell读取$后面的内容刚好到S处,经过测试后发现,当shell在搜寻变量名称遇到引号 , 符 号 时 就 会 结 束 .

加了转义,因为引号需要闭合,如果将左边的引号闭合会是下面的情况。echo $IFS""123输出:123echo IFS"123"也可以,因为在shell命令获取参数时,参数外面可以用引号括起来也可以不括起来 。3.如果目标过滤了引号和大括号怎么办 ,只要将参数放在一个变量中,然后通过命令+$IFS+变量的方式就可以正常使用$IFS变量,方式如下 a=123;echo$IFS$123

空格被过滤

符号被过滤,于是试试第三种过滤方法

结果又发现flag又被过滤了,离谱。

只有个这玩意,查看源码,得到flag

[ACTF2020 新生赛]Exec

127.0.0.1|cat /flag得到flagnmapnmap简介:是用来探测计算机网络上的主机和服务的一种安全扫描器。为了绘制网络拓扑图,Nmap发送特制的数据包到目标主机,然后对返回数据包进行分析。Nmap是一款枚举和测试网络的强大工具。 功能:主机发现 - 识别网络上的主机。例如,列出响应TCP和或ICMP请求或打开特定端口的主机。· 端口扫描 - 枚举目标主机上的开放端口。· 版本检测 - 询问远程设备上的网络服务以确定应用程序名称和版本号。· OS检测 - 确定网络设备的操作系统和硬件特性。· 可与脚本进行脚本交互 - 使用Nmap脚本引擎(NSE)和Lua编程语言。nmap语法格式: nmap [空格] [选项/多选项/协议] [空格] [目标] 例: nmap ip

nmap -A ip

TCP扫描:nmap -sT ip

版本检测扫描:nmap -sv ip

版本检测是用来扫描目标主机和端口上运行的软件的版本.它不同于其它的扫描技术,它不是用来扫描目标主机上开放的端口,不过它需要从开放的端口获取信息来判断软件的版本.使用版本检测扫描之前需要先用TCPSYN扫描开放了哪些端口。这个扫描的话,速度会慢一些,67.86秒扫一个IP。 -Pn,扫描之前不需要用ping命令,有些防火墙禁止使用ping命令 -T加常数,时间优化参数,-T0~n,-T0扫描端口的周期大约为n分钟,-Tn大约为n秒钟 -host-time扫描时间[BUUCTF 2018]Online Tool

试一下127.0.0.1|ls,出现了这一段话。

这个就是扫描结果。

第二种方法:payload:' -iL /flag -oN flag.txt '存入flag.txt,访问得到flag

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务