CTF-网络信息安全攻防学习平台(上传关)


题库地址:http://hackinglab.cn


第一关

题目:
        请上传一张jpg格式的图片
        分值: 100
        只能上传jpg格式的图片哦~!

解题方法:
进入题目,查看页面源代码。
在这里插入图片描述
上传的时候调用了check()函数,我们直接从浏览器删除掉onsubmit的值。
在这里插入图片描述
删除后任意上传一个php
在这里插入图片描述
在这里插入图片描述

第二关

题目:
        请上传一张jpg格式的图片
        分值: 150
        只能是jpg哦!

解题方法:
第二关还是前端校验,利用burp suite进行拦截,修改文件名后缀即可。
在这里插入图片描述

第三关

题目:
        请上传一张jpg格式的图片
        分值: 150
        只能是jpg哦!

解题方法:

查看页面源代码,注意那段JavaScript代码。

<script>
	function check(){
    
    
		var filename=document.getElementById("file");
		var str=filename.value.split(".");
		var ext=str[1];
		if(ext==='jpg'){
    
    
			return true;
		}else{
    
    
			alert("请上传一张JPG格式的图片!");
			return false;
		}
		return false;
	}
</script>

在这里插入图片描述

  • split() 方法用于把一个字符串分割成字符串数组。
  • str[1] : [0]是数组中的第一个元素。[1] 是第二个。数组索引从 0 开始。

分析:
程序利用 split(".") 函数进行分割后,将第二个元素进行比较,如果元素值为jpg,即可上传成功。

那么可以构造文件名为:xxx.jpg.php
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41924764/article/details/107667134
今日推荐