最近做web方面的题又遇到了几种漏洞,后三种感觉可以划分到RCE漏洞中,接下来一一介绍一下吧。
一、 文件上传漏洞:话不多说直接上题!
这里,我们如果选择写好的一句话木马,
这里这么写是因为,服务器可能会过滤掉?等。我们将webshell.php上传上去。
服务器提示我们,这不是图片。这时,我们需要绕过服务器的检查。
之后,我们打开burpsuite抓包:
主要修改三个地方,第一个将Content-Type改成 image/jpeg,第二个将文件的后缀名改成phtml(和php作用一样,这里是怕服务器会过滤.php文件,所以考虑用phtml绕过),第三个在一句话木马前加上GIF89a,这时GIF图片的文件头。服务器拿到我们上传的文件后,会读取它,对于没有文件头的文件,服务器会读取它的内容,正好读到GIF89a,它会以为自己读到了gif图片的文件头,从而成功绕过。
最后,打开蚁剑,进行连接。不过,我们需要知道我们上传文件在服务器的哪个位置,否则无法连接。一般上传的文件都会存在upload之下,打开蚁剑尝试:
连接成功,最后在根目录下找到flag。
那么,我们在提交文件时被提示到只能提交图片的后缀名时又该如何绕过呢?接下来看另一道题:
这里,我们上传.phtml文件(内容依然是一句话木马),点击上传时提示只能上传它规定的文件。这时,我们将文件后缀名改成gif再试试:
它提示我们,上传成功了,但是这不是一个.php文件或者.phtml文件,无法对服务器进行控制,这时我们继续使用burp改包,改包前:
改包后:
结果:
上传成功,并且文件名为phtml(这里之所以改成phtml是因为怕服务器过滤php,所以直接选择了phtml,添加GIF89a也是一样的道理,服务器可能会检查文件头,直接伪造就完事)
这里,结果直接把上传的位置告诉了我们,最后依旧是使用蚁剑连接。