Prosty skrypt, który zrobiłem dla znajomego, pozwalający automatycznie oddać głos w ankiecie (może to nie za bardzo etyczne, ale kogo to obchodzi).
Przykładowa forma głosowania (update, dzięki Tomek) wygląda tak:
Forma zawiera 3 ukryte pola (może to być np. identyfikator głosowania) oraz button Submit, należy również zwrócić uwagę na sposób przesyłania danych, tzn. POST lub GET. Skrypt do głosowania:
urlencode('param 1 value'),
'param2' => urlencode('param 2 value'),
'param3' => urlencode('param 3 value'),
'submit' => urlencode('Submit vote')
);
// zbuduj poprawny ciag dla cURL
foreach($fields as $key => $value)
{
$fields_string .= $key.'='.$value.'&';
}
rtrim($fields_string, '&');
$ch = curl_init();
// adres strony
curl_setopt($ch, CURLOPT_URL, $url);
// ilosc parametrow
curl_setopt($ch, CURLOPT_POST, count($fields));
// parametry POST
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
// przegladarka
curl_setopt($ch, CURLOPT_USERAGENT, array_rand($agents));
// zwroc tylko wynik
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
// wyswietl wynikowy kod html
//echo $result;
?>
Skrypt wymaga zainstalowanej biblioteki cURL.
Skrypt fajny, ale zasadę działania skryptu docelowego i przyjmowane parametry dalej trzeba samemu rozgryźć. ;]
Zagapiłem się, dodałem pasującą formę. Dzięki.
Nie ma sprawy – no to „hackowanie” formularzy głosowania czas zacząć! ;]
Ciekawsze by było dekompilowanie skryptów Flash wykorzystywanych w głosowaniach 😉
@bartek: Po co? W większości przypadków Data Tamper lub ew.Wireshark wystarcza do uzyskania niezbędnych danych do symulowania zapytań przez przeglądarkę curlem.