1
命令行注入:指web应用程序中调用了系统可执行命令的函数,而且输入参数是可控的,如果黑客拼接了注入命令,那么就可以执行dos命令之类的操作指令了
2【原理】
在应用程序开发过程中,使用了一些函数来执行系统指令,在没有做好过滤的情况下,导致外 部用户通过拼接参数到命令中,产生注入漏洞。
注入条件:
1、客户端输入值作为拼接到参数中;
2、没有足够的条件过滤;
3、应用系统中有相关**函数的引用
3【漏洞影响】
1、继承web服务器程序权限(web用户权限),便可去执行系统命令
2、继承web服务器权限,便可读写文件等
3、反弹shell
4、控制整个网站
5、控制整个服务器
常见的指令拼接符案例
在命令行注入时经常会使用的拼接符 |、&和;符。
1、| 符:管道符“|”上一条命令的输出,作为下一条命令参数(command1|command2 )
1.1 如 ping www.*****.com | ls
1.2 注意:当command1执行报错时,结果会打印command2的结果以及command1的错误信息
2、&符:&放在启动参数后面表示设置此命令在后台运行
2.1 如 cp –R /home/happen /backup/happen/ &
2.2 在命令注入漏洞中&符解析成 command1 & command2(表示先执行command1后执行 command2)
3、;符:command1;command2(命令从左到右顺序执行)
4、在命令行注入时经常会使用的拼接符||和&&
4.1 || 符:command1||command2(当左边为假时执行右边命令)
4.2 &&符: command1&&command2(当左边为真时执行右边命令
。【常见类型绕过方法】
1、在Web程序中有对空格过滤的情况,如下图1-1
图1-1
绕过方式有:
,%20(space),%09(tab),$IFS$9, I F S , {IFS},IFS如图1-2
图1-2
在Web程序中有对关键词cat命令过滤的情况,如图1-3
图1-3
cat绕过方式有:
2.1 less或more或tail命令绕过图1-4
web渗透与安全实战(综合与复习)提示您:看后求收藏(同人小说网http://tongren.me),接着再看更方便。