命令注入

什么是命令注入?

操作系统命令注入(也称为 shell 注入)是一种网络安全漏洞,允许攻击者在运行应用程序的服务器上执行任意操作系统(OS)命令,并通常完全破坏应用程序及其所有数据。

上下文

根据你的输入被注入的位置,你可能需要在命令之前终止引用的上下文(使用 "')。

命令注入/执行

限制绕过

如果你想在Linux机器上执行任意命令,你会对以下绕过方法感兴趣:Bypass Linux Restrictions

示例

参数

以下是可能容易受到代码注入和类似远程命令执行(RCE)漏洞攻击的前25个参数(来自link)

基于时间的数据泄露

逐个字符提取数据

在某些情况下,命令注入漏洞可能允许攻击者从目标系统中提取敏感数据。一种提取数据的技术是逐个字符进行,使用时间延迟来确定每个字符的值。

这种技术的思想是注入一个命令,如果满足某个条件,就会导致时间延迟。通过注入一个遍历所有可能字符并检查响应时间的命令,攻击者可以确定目标数据中每个字符的值。

以下是使用这种技术逐个字符提取数据的示例:

在这个示例中,攻击者注入了一个命令,该命令遍历所有可能的字符(小写字母、大写字母、数字和下划线)并检查响应时间。如果响应时间大于5(表示成功匹配),则将该字符添加到data变量中。

通过对目标数据中的每个字符重复此过程,攻击者可以逐步提取整个数据集。

基于DNS的数据泄露

基于https://github.com/HoLyVieR/dnsbin上的工具,也托管在dnsbin.zhack.ca上。

在线工具检查基于DNS的数据泄露:

  • dnsbin.zhack.ca

  • pingb.in

绕过过滤

Windows

Linux

Bypass Linux

Brute-Force Detection List

https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/command_injection.txt

References

Not found

最后更新于

这有帮助吗?