发送POST请求,卷曲,打开(头和所有)的响应输出。这样,你可以窃取PHPSESSID(或任何会话ID)。然后将该cookie设置为用户计算机上的网站(如果可以的话,可能存在不确定的限制)。
public function login($email,$password){
$login=false;
$post='member[email]='.urlencode($email).'&member[password]='.urlencode($password)
. "&MAX_FILE_SIZE=50000000&dado_form_3=1";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, 'http://your.login.info/here');
curl_setopt($ch,CURLOPT_USERAGENT,$this->useragent);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
//POST
curl_setopt($ch,CURLOPT_POST,4);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
curl_setopt($ch, CURLOPT_HEADER, 1);
$output=curl_exec($ch);
//get cookies in map array
$rows=explode("\n",$output);
foreach($rows as $num=>$row){
$trim=substr($row,0,5);
$trim2=substr($row,0,29);
if ($trim2=="Location: /public/member/home")$login=true;
if ($trim=="Set-C") {$rownum=$num;}}
$cookies=$rows[$rownum];
$cookies=substr($cookies,12);/*RAW COOKIE*/
$cookies=explode("; ",$cookies);
$arr=array();
foreach ($cookies as $n=>$v){
$s=explode("=",$v);
$arr[$s[0]]=$s[1];}
$cookies=$arr;
$phpsessid=$cookies['PHPSESSID'];
curl_close($ch);
return $login;}//end isLoggedIn
亚当我很想看看一些代码片段。感谢您愿意分享。 –
我添加了一个我的登录功能。它可以从cookie字符串中提取php会话ID。使用tamperdata或萤火虫找出您的网站是否使用phpsessid或其他会话追踪器。祝你好运 –
希望你有XSS权限设置为其他网站的Cookie ..这将工作在同一个域名,但你需要做很多与Cors权限,以使其在现代浏览器跨域的工作权限 – hanshenrik