CTF入门web篇17命令执行相关函数及绕过技巧讲解

命令注入和代码注入区别
之前我们讲过的都是代码注入,注入的代码相当于网页中新的代码,比如去执行数据库读取的操作,我们想办法插入一段代码去执行,这就是代码执行。
在这里插入图片描述

命令注入
命令注入执行的是系统中的命令,使目标服务器的命令在目标服务器上去执行我们想要执行的命令,系统命令的执行还是要基于某些函数的调度去实现的。
在这里插入图片描述

1、system函数

例如system函数执行系统命令并输出相应的结果:

String system(string command, int&return_var)

这里就给了个代码示例。
在这里插入图片描述

2、exec函数

system函数是关键函数,不论是CTF还是挖洞最初都要对弱点函数做追踪,第一个就是system,第二个就是exec。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
不会因为返回值受限一定要把它把传递给某个变量才可以。
在这里插入图片描述

3、 passthru函数
在这里插入图片描述

String shell _exec(string command) command是要执行的命令
在这里插入图片描述

4、运算符

与shell_exec功能相同,执行shell命令并返回输出的字符串
在这里插入图片描述

加引号后会直接执行系统命令,比如说echo,执行ls那么它是输出的是ls,如果要执行的是反引号中的ls,相当于打印出ls命令执行之后的一个结构。
在这里插入图片描述

在实际过程中,想去嵌入还是比较困难的,变量可控,存在反引号之间的,反引号传递不了,我们可以控制变量靠后的值,不管是get还是post单引号还是双引号,传递上去的值肯定是在引号之间的。

命令执行的绕过
在这里插入图片描述

  1. 换行符

换行符,比如说%0a就相当于换了一行,%0d也就是回车符。连续指令,理解上可能就相当于SQL语句,比如说第一句select 123那么理论上来说,如果你真的是写完整语法的,肯定是用分号去结尾,然后另起一行下一句,包括PHP它也是以分号来做换一行一行结束的。那么在shell中也是用这样去使用的。我用把0d换成一个分

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CTF中,web入门命令执行指的是通过Web应用程序的漏洞,将恶意的命令注入到应用程序中并执行。这样的攻击可以导致未经授权的访问和操纵应用程序的数据和功能。 根据引用中提供的信息,可以看到一些常见的双写绕过技巧,如分号、竖线、双与号等。这些技巧可以用来绕过应用程序对输入参数的限制,从而注入恶意的命令。 引用中提到的payload,其中使用了一个通用的命令执行函数"show_source"来显示指定文件的源代码。这个payload可以用来尝试执行"flag.php"文件的源代码。但前提是要知道有一个名为"flag.php"的文件存在。 另外,引用中提供了另一种payload的示例,其中使用了array_reverse和scandir函数来获取文件目录并显示指定文件的源代码。同样,也可以直接使用show_source('flag.php')来显示"flag.php"文件的源代码。 需要注意的是,命令执行漏洞是非常危险的,因为它可以导致恶意用户执行任意的系统命令。为了保护Web应用程序免受此类攻击,开发人员应该对用户的输入进行严格的验证和过滤,并使用安全的编程实践来防止命令注入漏洞的发生。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [ctfshow web入门命令执行](https://blog.csdn.net/uuzfumo/article/details/128357863)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [CTFShow Web入门 命令执行](https://blog.csdn.net/qq_19533763/article/details/123910732)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值