打开链接,是一个上传窗口
原想法是上传一句话木马,但是只能上传图片
查看源码
<!Doctype html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript"> Array.prototype.contains = function (obj) { var i = this.length; while (i--) { if (this[i] === obj) { return true; } } return false; } function check(){ upfile = document.getElementById("upfile"); submit = document.getElementById("submit"); name = upfile.value; ext = name.replace(/^.+./,''); if(['jpg','png'].contains(ext)){ submit.disabled = false; }else{ submit.disabled = true; alert('请选择一张图片文件上传!'); } } </script> </head> <body> <form enctype='multipart/form-data' id='aa' name='aaa' method='post' action='index.php'> <input id="upfile" name='upfile' type='file' onchange="check();" /> <input type='submit' id ='submit' value='上传'> </form> </body> <html>
['jpg','png'].contains(ext)是判断文件是否为图片的,只有jpg和png格式才能通过,同时通过disabled返回值
ext = name.replace(/^.+./,’’)删除文件的名称
在上传不成功的页面打开源码,
把disabled=“”删除,成功地将一句话木马上传
通过蚁剑扫描,找到flag
解题过程中遇到了如下情况:
主要考虑一句话木马的语法是否写对和数据配置是否正确: