<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>Paweł Goleń, blog - Formularz komentarzy &quot;Jak szukać SQLi - przykład&quot;</title>
    <link>https://archive.mroczna-zaloga.org/</link>
    <description>Paweł Goleń, blog - Zrzędzenie starego zgreda</description>
    <dc:language>pl</dc:language>
    <generator>Serendipity  - http://www.s9y.org/</generator>
    <pubDate>Sat, 15 Mar 2025 22:14:19 GMT</pubDate>

    <image>
        <url>https://archive.mroczna-zaloga.org/templates/bulletproof/img/s9y_banner_small.png</url>
        <title>RSS: Paweł Goleń, blog - Formularz komentarzy &quot;Jak szukać SQLi - przykład&quot; - Paweł Goleń, blog - Zrzędzenie starego zgreda</title>
        <link>https://archive.mroczna-zaloga.org/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Paweł Goleń: Jak szukać SQLi - przykład</title>
    <link>https://archive.mroczna-zaloga.org/archives/953-jak-szukac-sqli-przyklad.html#c6266</link>
            <category></category>
    
    <comments>https://archive.mroczna-zaloga.org/archives/953-jak-szukac-sqli-przyklad.html#comments</comments>
    <wfw:comment>https://archive.mroczna-zaloga.org/wfwcomment.php?cid=953</wfw:comment>

    

    <author>nospam@example.com (Paweł Goleń)</author>
    <content:encoded>
    Nie patrz na te przykłady, jak na święty wzorzec spoczywający w gablocie obok metra :) Payloady jak najbardziej można dostosowywać do konkretnej aplikacji i jej zachowania. Ważne, by rozumieć co może się stać w przypadku przekazania określonego payloadu i potrafić rozpoznać to zachowanie.

Pamiętaj też, że tam jest więcej przykładowych payloadów, na podstawie których można (próbować) określić, czy:
- dane wchodzą do stringa (payloady z &#039;)
- dane nie są w stringu (te wersje bez &#039;)

I tak na przykład jeśli dane wchodzą w stringa, to wszystkie wersje +0, -0 /1 /0 powinny nie zwrócić żadnych danych, bo prawdopodobnie żadne dane nie będą pasować do takich parametrów wyszukiwania.

Jeśli dane są poza stringiem, to masz jeszcze payloady typu {n} AND 1=1 oraz {n} AND 1=0 co w bardzo wielu wypadkach też zadziała, jeśli jest injection.

Poza tym nie chodzi tu o potwierdzenie ze 100% pewnością, że podatność istnieje, raczej chodzi o szybkie wytypowanie miejsc, w których jest jakieś podejrzane zachowanie.

Im więcej wiesz o testowanej aplikacji, tym efektywniej możesz ją testować. Jeśli np. znajdziesz jeden injection i wiesz jakiego zachowania aplikacji oczekiwać, możesz lepiej dostosować zarówno payloady, jak i to, czego szukasz.  
    </content:encoded>

    <pubDate>Fri, 30 Mar 2012 19:45:33 +0200</pubDate>
    <guid isPermaLink="false">https://archive.mroczna-zaloga.org/archives/953-guid.html#c6266</guid>
    
</item>
<item>
    <title>Anonymous: Jak szukać SQLi - przykład</title>
    <link>https://archive.mroczna-zaloga.org/archives/953-jak-szukac-sqli-przyklad.html#c6264</link>
            <category></category>
    
    <comments>https://archive.mroczna-zaloga.org/archives/953-jak-szukac-sqli-przyklad.html#comments</comments>
    <wfw:comment>https://archive.mroczna-zaloga.org/wfwcomment.php?cid=953</wfw:comment>

    

    <author>nospam@example.com ()</author>
    <content:encoded>
    popełniłem błąd:
- {N}+0 = 1542446130+1
+ {N}+0 = 1542446130+0

zmierzam do tego, że z zaproponowanych przekształceń:

+0
-0
/1
/0

tylko ostanie wskaże potencjalnego SQLi. Pozostałe trzy:

1542446130+0
1542446130-0
1542446130/1

w tym samym stopniu wskazują zarówno na SQLi jak i sanityzację (rzutowanie do int).  
    </content:encoded>

    <pubDate>Fri, 30 Mar 2012 14:48:23 +0200</pubDate>
    <guid isPermaLink="false">https://archive.mroczna-zaloga.org/archives/953-guid.html#c6264</guid>
    
</item>
<item>
    <title>Paweł Goleń: Jak szukać SQLi - przykład</title>
    <link>https://archive.mroczna-zaloga.org/archives/953-jak-szukac-sqli-przyklad.html#c6260</link>
            <category></category>
    
    <comments>https://archive.mroczna-zaloga.org/archives/953-jak-szukac-sqli-przyklad.html#comments</comments>
    <wfw:comment>https://archive.mroczna-zaloga.org/wfwcomment.php?cid=953</wfw:comment>

    

    <author>nospam@example.com (Paweł Goleń)</author>
    <content:encoded>
    Zwróć uwagę, że w pierwszym przypadku jeśli jest injection numeryczne, to efektywnie będziesz wyszukiwał kolejno obiektów o identyfikatorach:
1542446130
1542446131
1542446130
Czyli pierwsza i trzecia odpowiedź powinna zwrócić te same dane, druga natomiast inne. 

Do tego zestawu można jeszcze dodać dzielenie przez zero, co często spowoduje również odmienne działanie aplikacji (np. błąd 500) i co również jest mocną przesłanką do tego, że COŚ się dzieje.

W przypadku, gdy jest (int) w PHP, wszystkie trzy żądania zwrócą te same dane.

W przypadku zaproponowanego przez Ciebie podejścia jest dokładnie odwrotnie. Jeśli jest injection, dostajesz te same dane, jeśli nie ma - różne.

Na podstawie obu zestawów możesz wnioskować odnośnie istnienia podatności. ja wolę podejście pierwsze, bo jakoś łatwiej dla mnie jest interpretować różnice jako przesłankę przemawiającą za istnieniem podatności, niż odwrotnie :)  
    </content:encoded>

    <pubDate>Fri, 30 Mar 2012 14:21:29 +0200</pubDate>
    <guid isPermaLink="false">https://archive.mroczna-zaloga.org/archives/953-guid.html#c6260</guid>
    
</item>
<item>
    <title>dariusz: Jak szukać SQLi - przykład</title>
    <link>https://archive.mroczna-zaloga.org/archives/953-jak-szukac-sqli-przyklad.html#c6258</link>
            <category></category>
    
    <comments>https://archive.mroczna-zaloga.org/archives/953-jak-szukac-sqli-przyklad.html#comments</comments>
    <wfw:comment>https://archive.mroczna-zaloga.org/wfwcomment.php?cid=953</wfw:comment>

    

    <author>nospam@example.com (dariusz)</author>
    <content:encoded>
    Zastanawiam się nad wyborem zestawu payloadów do testowania wartości numerycznej:

{N}-0 = 1542446130-0
{N}+0 = 1542446130+1
{N}/1 = 1542446130/1

Przy założeniu, że SQLi nie ma (wartość jest sanityzowana np. za pomocą funkcji intval (php)) wówczas wszystkie payloady zostaną przekształcone do wartości pierwotnej (1542446130), co z kolei wygeneruje masę fałszywych podejrzeń o SQLi. Z drugiej strony nawet gdy SQLi istnieje nadal nie mamy pewności.

Opisane problemy powinien rozwiązać następujący zestaw:

{N+1}-1 = 1542446131-1 
{N-1}+1 = 1542446129+1
{N*2}/2 = 3084892260/2

Przy braku SQLi (zastosowana sanityzacja) odpowiedzi na zapytania powinny być różne od odpowiedzi bazowej. Jeżeli SQLi istnieje odpowiedź będzie taka sama jak odpowiedź bazowa, co z dużym prawdopodobieństwem wskazuje na SQLi.  
    </content:encoded>

    <pubDate>Fri, 30 Mar 2012 14:03:27 +0200</pubDate>
    <guid isPermaLink="false">https://archive.mroczna-zaloga.org/archives/953-guid.html#c6258</guid>
    
</item>
<item>
    <title>Monika: Jak szukać SQLi - przykład</title>
    <link>https://archive.mroczna-zaloga.org/archives/953-jak-szukac-sqli-przyklad.html#c3147</link>
            <category></category>
    
    <comments>https://archive.mroczna-zaloga.org/archives/953-jak-szukac-sqli-przyklad.html#comments</comments>
    <wfw:comment>https://archive.mroczna-zaloga.org/wfwcomment.php?cid=953</wfw:comment>

    

    <author>nospam@example.com (Monika)</author>
    <content:encoded>
    ciekawy artykuł, proszę o więcej :D  
    </content:encoded>

    <pubDate>Fri, 17 Dec 2010 10:21:57 +0100</pubDate>
    <guid isPermaLink="false">https://archive.mroczna-zaloga.org/archives/953-guid.html#c3147</guid>
    
</item>
<item>
    <title>Darek: Jak szukać SQLi - przykład</title>
    <link>https://archive.mroczna-zaloga.org/archives/953-jak-szukac-sqli-przyklad.html#c3121</link>
            <category></category>
    
    <comments>https://archive.mroczna-zaloga.org/archives/953-jak-szukac-sqli-przyklad.html#comments</comments>
    <wfw:comment>https://archive.mroczna-zaloga.org/wfwcomment.php?cid=953</wfw:comment>

    

    <author>nospam@example.com (Darek)</author>
    <content:encoded>
    Pomocne :) Juz raz się zdziwiłem co się stało z bazą danych - trzeba uważać...  
    </content:encoded>

    <pubDate>Sun, 12 Dec 2010 02:03:16 +0100</pubDate>
    <guid isPermaLink="false">https://archive.mroczna-zaloga.org/archives/953-guid.html#c3121</guid>
    
</item>

</channel>
</rss>