cURL login en vul daarna een nieuw formulier in

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dylan PHP

Dylan PHP

10/03/2013 17:12:18
Quote Anchor link
Beste PHPers,

Ik krijg cURL maar niet aan de praat. Moet ook zeggen dat ik niet heel uitgebreid de documentatie heb doorgelezen. Ik probeer een simpele login te creëren en daarna een nieuw formulier in te vullen en te versturen. Om een bepaalde taak te automatiseren zeg maar ;)

login op domain.com/login.php met POST parameters "login=user&password=pass&submit=login"
en daana op domain.com/action.php met POST parameters "cmd=clear&fixed=1"

Wie-o-wie kan mij een op weg helpen?

Tot nu toe van alles geprobeerd maar zonder resultaat. Voorbeeldje;

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$cookie_file_path = getcwd() . '/cookie.txt';
$agent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/A.B (KHTML, like Gecko) Chrome/X.Y.Z.W Safari/A.B.";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,'http://www.x.com/login.php');
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "login=user&password=pass&submit=login");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR,  $cookie_file_path);

curl_setopt($ch, CURLOPT_URL,'http://www.x.com/action.php');
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "cmd=clear&fixed=1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR,  $cookie_file_path);

curl_exec($ch);

curl_close ($ch);
 
PHP hulp

PHP hulp

29/03/2024 13:07:03
 
Ward van der Put
Moderator

Ward van der Put

10/03/2013 17:37:18
Quote Anchor link
Je gebruikt de opzet van een phishing site: gebruiker logt in bij site A en site A post de login achter de schermen met cURL door naar site B. Niet echt een onderwerp om uitgebreid hulp bij te bieden.
 
Dylan PHP

Dylan PHP

10/03/2013 18:00:39
Quote Anchor link
Waar zie jij 2 domeinen in dit verhaal? cURL is bedoeld om GET en POST headers te versturen dus dan is iedereen ineens verdacht die met cURL aan de slag gaat?
 
Ward van der Put
Moderator

Ward van der Put

10/03/2013 18:16:26
Quote Anchor link
Dylan PHP op 10/03/2013 18:00:39:
Om een bepaalde taak te automatiseren zeg maar ;)
Bepaalde taken automatiseren... Zeg maar... Met een wink.

Maar nee hoor, ik gebruik cURL ook dagelijks. Alleen niet voor een login met een POST.

Je mist inhoudelijk het hele punt: dat dit prototype wordt gebruikt voor phishing, maakt het dus niet makkelijk te implementeren.

Waarom voel je je meteen aangevallen? Heb ik een punt? Of kun je concreter worden of welke "bepaalde taken" je "zeg maar" wilt automatiseren ;)
 
Dylan PHP

Dylan PHP

10/03/2013 18:34:27
Quote Anchor link
Ik heb verschillende Joomla websites (al vermeld in eerdere posts) en deze wil ik allemaal handmatig updaten door in te loggen en vervolgens op de update knop te drukken. Dit wil ik ook toepassen op andere CMSen die ik gebruik dus vandaar mijn post. Misschien dat het nu wat duidelijker is.

Toevoeging op 10/03/2013 18:40:31:

handmatig=automatisch
Gewijzigd op 10/03/2013 18:35:02 door Dylan PHP
 
Ward van der Put
Moderator

Ward van der Put

10/03/2013 18:41:47
Quote Anchor link
Dylan PHP op 10/03/2013 18:34:27:
Ik heb verschillende Joomla websites (al vermeld in eerdere posts) en deze wil ik allemaal handmatig updaten door in te loggen en vervolgens op de update knop te drukken. Dit wil ik ook toepassen op andere CMSen die ik gebruik dus vandaar mijn post. Misschien dat het nu wat duidelijker is.
Okay, niets gezegd :)

Bijna niets dan, want je probeert dus in één keer geautomatiseerd de login van Joomla op meerdere sites te omzeilen en vervolgens een handeling van de gebruiker te simuleren.

Kun je die klik op de Update-knop niet directer automatiseren, bij voorkeur via een instelling in een database?
 
Dylan PHP

Dylan PHP

10/03/2013 18:53:01
Quote Anchor link
Joomla heeft geen automatische update mogelijkheid. Ik wil het stukje ook gaan gebruiken voor andere CMSen dus het is niet alleen voor Joomla bedoeld. Een soort centrale plek waar ik via een klik op de knop meerdere sites kan updaten is zeg maar wat ik voor elkaar wil krijgen :)
 
Eddy E

Eddy E

10/03/2013 18:59:10
Quote Anchor link
Moet makkelijk kunnen hoor.
Mijn vraag is eigenlijk: wat lukt er nou niet?

Ben je bij de 2e curl-actie niet meer ingelogd? Of lukt het inloggen niet? Wat is je vraag?



Ik gebruik het bij een phpBB-forum om automatisch berichten aan te maken (verjaardagen-bericht elke dag etc).
Ook gebruik ik het wekelijks om op zondag 2x de opgenomen kerkdienst te downloaden en direct op te slaan.
Kan dat ook handmatig doen, maar waarom niet automatiseren? cURL is daar tenslotte voor gemaakt.
 
Ward van der Put
Moderator

Ward van der Put

10/03/2013 19:07:31
Quote Anchor link
Dylan PHP op 10/03/2013 18:53:01:
Joomla heeft geen automatische update mogelijkheid. Ik wil het stukje ook gaan gebruiken voor andere CMSen dus het is niet alleen voor Joomla bedoeld. Een soort centrale plek waar ik via een klik op de knop meerdere sites kan updaten is zeg maar wat ik voor elkaar wil krijgen :)
Even om de "probleemstelling" helder te krijgen... Je wilt dus voor meerdere Joomla-installaties automatisch software-updates installeren door een klik op de knop Update te simuleren met cURL? En dat niet alleen voor Joomla, maar eigenlijk ook voor andere updates?
 
Dylan PHP

Dylan PHP

10/03/2013 21:42:44
Quote Anchor link
@Ward, ja klopt ik wil een soort update scriptje schrijven met enkel cURL.

@Eddy, ik weet niet of ik daadwerkelijk ben ingelogd aangezien ik niet weet hoe ik dit kan controleren. Wel zie ik in cookies.txt wat verschijnen wat erop lijkt dat de sessie wel is aangemaakt.

Eigenlijk is het vrij simpel wat ik wil, eerst een login, daarna een post verrichten op een andere pagina. Als iemand mij zou kunnen helpen graag ;) Ik ga nu ook nog even Googlen, als ik de oplossing heb post ik dit uiteraard op het forum.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.