Zakkenservice

Pagina: 1
Acties:
  • 1.185 views

Vraag


Acties:
  • 0 Henk 'm!

  • jnr24
  • Registratie: Oktober 2004
  • Laatst online: 27-08 11:48
In het kader van automatisering, life hacking of gewoon de uitdaging:

Wie lukt het geautomatiseerd plastic afvalzakken te bestellen op zakkenservice.nl ?

(voorbeeld postcode 2665 EP oneven huisnummers)

Ik zou graag elke maand automatisch de zakken bestellen, vaker mag je ze niet bestellen, 'even scripten' leek een peuleschil, er is geen captcha, Na uren besteden aan session ids, cookie jars en andere complexiteiten is het mij niet gelukt.

De gebruikte technologie lijkt Microsoft gebaseerd, als je een veld invoert gaat hij al voortijdig gegevens ophalen en verifieren, zelfs dat stap voor stap na doen heeft geen success gehad bij mij.
...

Bij voorkeur een curl of php aanpak, wat generieke hints is ook prima.
...
Allerlei scripts met curl die de veldnamen en hun (random?) ID uitlezen en weer terug posten. Cookies accepteren en teruggeven (maar die lijken er niet te zijn).

Voorbeeld van de formulier source:
<div id="aanvraagscheminvoer">
<table class="tekst">
<tr>
<td class="style7" rowspan="5">
<img alt="" src="Images/ph-zak.jpg" style="text-align: center;" width="100px" /></td>
<td class="style2">
Postcode:
</td>
<td class="style4">
<input name="ctl00$MainContent$TextBox1" type="text" id="ctl00_MainContent_TextBox1" tabindex="1" />
<input name="ctl00$MainContent$txtButtonPressed" type="text" id="ctl00_MainContent_txtButtonPressed" disabled="disabled" border="0" />
</td>
</tr>
<tr>
<td class="style15">
Huisnummer:
</td>
<td class="style16">
<input name="ctl00$MainContent$TextBox2" type="text" id="ctl00_MainContent_TextBox2" tabindex="2" />
</td>
</tr>
<tr>
<td class="style2">
Huisnummer toevoeging:
</td>
<td class="style4">
<input name="ctl00$MainContent$TextBox3" type="text" id="ctl00_MainContent_TextBox3" tabindex="3" />
</td>
</tr>
<tr>
<td class="style2">
Straatnaam:
</td>
<td class="style4" style="text-align: left">
<span id="ctl00_MainContent_Label1"></span>
</td>
</tr>
<tr>
<td class="style2">
Plaats:
</td>
<td class="style4" style="text-align: left">
<span id="ctl00_MainContent_Label2" style="text-align: left"></span>
</td>
</tr>
<tr>
<td class="style14" colspan="2">
 <span id="ctl00_MainContent_Label4" style="text-align: left"><font color="Blue"></font></span>
</td>
<td class="style4" align="right">
 

<input type="submit" name="ctl00$MainContent$btnAanvragen" value="Bestellen" onclick=" this.disabled = true; javascript:document.getElementById('ctl00_MainContent_txtButtonPressed').value = '2';__doPostBack('ctl00$MainContent$btnAanvragen','');" id="ctl00_MainContent_btnAanvragen" tabindex="4" title="Bestellen" AutoPostBack="True" onmouseover="javascript:document.getElementById('ctl00_MainContent_txtButtonPressed').value = '1'" onmouseout="javascript:document.getElementById('ctl00_MainContent_txtButtonPressed').value = '0'" />

</td>
</tr>
</table>
</div>
<div id="progressupdate">
<div id="ctl00_MainContent_UpdateProgress" style="display:none;">

 <img alt="" src="Images/busy.gif" />

</div>
...

Alle reacties


Acties:
  • 0 Henk 'm!

  • Juup
  • Registratie: Februari 2000
  • Niet online
Kijk naar de postdata en probeer dit rechtstreeks te posten.

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


Acties:
  • 0 Henk 'm!

  • Nycrea
  • Registratie: Augustus 2009
  • Laatst online: 05-09 18:46
Precies, vang de post een keer op wanneer je echt besteld en kijk hoe die eruit ziet, dat kun je dan in een script namaken en elke maand versturen. Moet te doen zijn.

🇺🇦


Acties:
  • 0 Henk 'm!

  • dehardstyler
  • Registratie: Oktober 2012
  • Laatst online: 14:03
Ik heb nooit geweten dat daar een website voor beschikbaar was! Thanks! :)

edit: niet in mijn gemeente... :/

[ Voor 20% gewijzigd door dehardstyler op 25-04-2019 14:36 ]


Acties:
  • 0 Henk 'm!

  • jnr24
  • Registratie: Oktober 2004
  • Laatst online: 27-08 11:48
Juup schreef op donderdag 25 april 2019 @ 14:31:
Kijk naar de postdata en probeer dit rechtstreeks te posten.
Nycrea schreef op donderdag 25 april 2019 @ 14:33:
Precies, vang de post een keer op wanneer je echt besteld en kijk hoe die eruit ziet, dat kun je dan in een script namaken en elke maand versturen. Moet te doen zijn.
Ja dat is me dus nog nooit gelukt. Ik kan me voorstellen dat complexe development frameworks het handig vinden om dubbel posten te voorkomen of iets anders doen met een bepaald (door javascript ingevuld) 'hidden field'. Ik haal dus al de pagina op, verwerk alle binnenkomende waardes (voor zover ik daar op de hoogte van ben) en post ze terug. Toch loop ik ergens op vast.

Omdat je bij het verlaten van het postcode veld al een POST doet om je straatnaam op te halen is er blijkbaar wat javascript actief die ik niet helemaal lekker kan simuleren.

Acties:
  • 0 Henk 'm!

  • Compizfox
  • Registratie: Januari 2009
  • Nu online

Compizfox

Bait for wenchmarks

Juup schreef op donderdag 25 april 2019 @ 14:31:
Kijk naar de postdata en probeer dit rechtstreeks te posten.
Beetje website/framework heeft CSRF-protection op dat soort forms zitten.

Gewoon een heel grote verzameling snoertjes


Acties:
  • +1 Henk 'm!

  • Kanarie
  • Registratie: Oktober 2000
  • Laatst online: 11-09 20:06

Kanarie

תֹ֙הוּ֙ וָבֹ֔הוּ

PhantomJS gebruiken en gewoon het formulier invullen?

We're trapped in the belly of this horrible machine. And the machine is bleeding to death.


Acties:
  • 0 Henk 'm!

  • 8088
  • Registratie: December 2000
  • Niet online

8088

NaN

jnr24 schreef op donderdag 25 april 2019 @ 14:27:
Voorbeeld van de formulier source:
Je slaat een heel stuk met hidden inputs over.

Do you seek to engage in or have you ever engaged in terrorist activities, espionage, sabotage, or genocide?


Acties:
  • 0 Henk 'm!

  • jnr24
  • Registratie: Oktober 2004
  • Laatst online: 27-08 11:48
Klopt, die heb ik wel, deze waardes post ik voor stap 1, de postcode:
[__ASYNCPOST] => true
[__EVENTARGUMENT] =>
[__EVENTTARGET] => ctl00$MainContent$btnAanvragen
[__VIEWSTATE] => /wEPDwUKLTQxNjI4ODA5MQ9kFgJmD2QWAgIDD2QWAgIBD2QWAgIDD2QWAmYPZBYCAhEPD2QWBh4Lb25tb3VzZW92ZXIFVGphdmFzY3JpcHQ6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2N0bDAwX01haW5Db250ZW50X3R4dEJ1dHRvblByZXNzZWQnKS52YWx1ZSA9ICcxJx4Kb25tb3VzZW91dAVUamF2YXNjcmlwdDpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY3RsMDBfTWFpbkNvbnRlbnRfdHh0QnV0dG9uUHJlc3NlZCcpLnZhbHVlID0gJzAnHgdvbmNsaWNrBZ4BIHRoaXMuZGlzYWJsZWQgPSB0cnVlOyBqYXZhc2NyaXB0OmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjdGwwMF9NYWluQ29udGVudF90eHRCdXR0b25QcmVzc2VkJykudmFsdWUgPSAnMic7X19kb1Bvc3RCYWNrKCdjdGwwMCRNYWluQ29udGVudCRidG5BYW52cmFnZW4nLCcnKTtkZE54YMDN//ZYUGzTrKedIkxovPG/
[__VIEWSTATEGENERATOR] => CA0B0334
[__EVENTVALIDATION] => /wEWBgL918GIAwLR49OXDQKygKu2CgLR48eXDQLR48uXDQKW64ePD0uK5ypK5iD0qYjzN67weqNl18io
[ctl00$MainContent$TextBox1] => 2665EP
[ctl00$MainContent$txtButtonPressed] =>
[ctl00$MainContent$TextBox2] =>
[ctl00$MainContent$TextBox3] =>
[ctl00$MainContent$btnAanvragen] => Bestellen
[ctl00$MainContent$ScriptManager1] => ctl00$MainContent$UpdatePanel1|ctl00$MainContent$TextBox1

Acties:
  • 0 Henk 'm!

  • jnr24
  • Registratie: Oktober 2004
  • Laatst online: 27-08 11:48
Kanarie schreef op donderdag 25 april 2019 @ 15:21:
PhantomJS gebruiken en gewoon het formulier invullen?
Thanks, daar ga ik naar kijken.

Acties:
  • +2 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Asp.net. Heb jaren geleden iets soortgelijks gedaan en het is niet triviaal. Je moet inderdaad zorgen dat je alle form-state en vaak ook eventuele cookies meeposten. Anders wordt 't niet geaccepteerd. Het makkelijkst is waarschijnlijk inderdaad iet als PhantomJS of anders Selenium.

https://niels.nu


Acties:
  • +1 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 15:01
Of in nodejs met puppeteer :)

Acties:
  • +1 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 14:10
Of als je in PHP wil blijven; Laravel Dusk gebruikt de Chromedriver: https://laravel.com/docs/5.8/dusk

Zie ook https://medium.com/employ...surf-the-web-7dc3b2232220

Zoiets (niet getest):
PHP:
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
<?php

namespace Tests\Browser;

use Tests\DuskTestCase;
use Laravel\Dusk\Chrome;
use Illuminate\Foundation\Testing\DatabaseMigrations;

class ZakkenTest extends DuskTestCase
{

    /**
     * A basic browser test example.
     *
     * @return void
     */
    public function testOrder()
    {
      
        $this->browse(function ($browser)  {
            $browser->visit('https://zakkenservice.nl/')
                    ->type('ctl00$MainContent$TextBox1', '1234AB')
                    ->type('ctl00$MainContent$TextBox2', '1')
                    ->press('Bestellen');
        });
    }
}

Acties:
  • 0 Henk 'm!

  • jnr24
  • Registratie: Oktober 2004
  • Laatst online: 27-08 11:48
dehardstyler schreef op donderdag 25 april 2019 @ 14:34:
Ik heb nooit geweten dat daar een website voor beschikbaar was! Thanks! :)

edit: niet in mijn gemeente... :/
Tja het is uiterst ondoorzichtig, de afvalkalender, de notificaties via email, de 'zakkenservice', een doolhof van verouderde linkjes op de gemeentesite en nog het plastic niet ophalen als je braaf het gewijzigde paasschema aanhoudt ;)

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 10:03

Creepy

Tactical Espionage Splatterer

Maar goed. Eerst zelf maar eens aan de slag. Een topic openen met "wie lukt het om..." zonder zelf een echte poging te hebben ondernomen of aan te geven waar je nu zelf vastloopt is niet de bedoeling. Dat is in feite werving en dat staan we nergens op het forum toe. Je hebt genoeg tips en al dan niet werkende oplossingen gekregen loop je alsnog ergens tegenaan dan kan je een nieuw topic openen maar geef dan ip z'n minst aan wat er niet inclusief inclusief relevante code en wat je zelf al hebt geprobeerd anders zullen we dat topic ook moeten sluiten.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
^ Dat dus. Daarbij ook relevant: Kan iemand even...?, scriptrequest en Kan iemand even...? :)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1

Dit topic is gesloten.