[NPUCTF2020]ezlogin
[NPUCTF2020]ezlogin
考点
XPath盲注
wp
F12发现main.js,打开找到登录代码,把数据以XML形式传入
functiondoLogin(){
var username =$("#username").val();
var password =$("#password").val();
var token =$("#token").val();
if(username ==""|| password ==""){
$(".msg").text("用户名和密码不能为空!");
return;
}
var data ="<username>"+username+"</username>"+"<password>"+password+"</password>"+"<token>"+token+"</token>";
$.ajax({
type:"POST",
url:"login.php",
contentType:"application/xml",
data: data,
anysc:false,
success:function(result, status, xhr){
if(result =='成功'){
window.location.href ='admin.php';
}
$(".msg").text(result);
},
error:function(XMLHttpRequest,textStatus,errorThrown){
$(".msg").text(errorThrown +':'+ textStatus);
}
});
}但是它的POST数据又不是XML形式,实际上这是Xpath

使用x' or 1=1 or ''=' 绕过登录失败。尝试Xpath盲注

使用脚本注入,得到账号密码为adm1n/gtfly123
然后跳转到admin.php?file=welcome很明显的文件包含,并且给了提示,解码后是flag is in /flag
使用php://filter 读取文件,结果返回nonono ,是过滤了什么
可以对php://filter 使用大小写
小结
Content-type是XML,但是POST的数据不是XML格式,可能是XPath
php://filter伪协议被过滤时可以使用大小写绕过
XPath注入
最后更新于