<?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;Bootcamp: identyfikatory globalne i lokalne (pośrednie)&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:45 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;Bootcamp: identyfikatory globalne i lokalne (pośrednie)&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ń: Bootcamp: identyfikatory globalne i lokalne (pośrednie)</title>
    <link>https://archive.mroczna-zaloga.org/archives/672-bootcamp-identyfikatory-globalne-i-lokalne-posrednie.html#c9126</link>
            <category></category>
    
    <comments>https://archive.mroczna-zaloga.org/archives/672-bootcamp-identyfikatory-globalne-i-lokalne-posrednie.html#comments</comments>
    <wfw:comment>https://archive.mroczna-zaloga.org/wfwcomment.php?cid=672</wfw:comment>

    

    <author>nospam@example.com (Paweł Goleń)</author>
    <content:encoded>
    HTTP jest z zasady protokołem bezstanowym. To, jak dana aplikacja/framework wiąże różne żądania w sesję zależy od tej platformy, ale zwykle jest do tego wykorzystywany identyfikator sesji przekazywany właśnie w cookie. I CSRF korzysta z tego, że takie cookie zostanie wysłane automatycznie przez przeglądarkę, oczywiście pod warunkiem, że przeglądarka odpowiednie cookie posiada.  
    </content:encoded>

    <pubDate>Sat, 29 Sep 2012 12:52:45 +0200</pubDate>
    <guid isPermaLink="false">https://archive.mroczna-zaloga.org/archives/672-guid.html#c9126</guid>
    
</item>
<item>
    <title>fuzzy: Bootcamp: identyfikatory globalne i lokalne (pośrednie)</title>
    <link>https://archive.mroczna-zaloga.org/archives/672-bootcamp-identyfikatory-globalne-i-lokalne-posrednie.html#c9125</link>
            <category></category>
    
    <comments>https://archive.mroczna-zaloga.org/archives/672-bootcamp-identyfikatory-globalne-i-lokalne-posrednie.html#comments</comments>
    <wfw:comment>https://archive.mroczna-zaloga.org/wfwcomment.php?cid=672</wfw:comment>

    

    <author>nospam@example.com (fuzzy)</author>
    <content:encoded>
    To skąd serwer będzie wiedział, któremu Użytkownikowi usuwam wiadomość, skoro wystawiam kog na stronie nie związanej z aplikacją? 
Bo jak rozumiem, te identyfikatory mogą się powtarzać dla różnych ownerów? 
Jeśli tak, to skądś system musi wiedzieć z którym ownerem ma do czynienia (właśnie, jak to robi? Ciasteczkiem?).  
    </content:encoded>

    <pubDate>Fri, 28 Sep 2012 21:51:38 +0200</pubDate>
    <guid isPermaLink="false">https://archive.mroczna-zaloga.org/archives/672-guid.html#c9125</guid>
    
</item>
<item>
    <title>Paweł Goleń: Bootcamp: identyfikatory globalne i lokalne (pośrednie)</title>
    <link>https://archive.mroczna-zaloga.org/archives/672-bootcamp-identyfikatory-globalne-i-lokalne-posrednie.html#c9041</link>
            <category></category>
    
    <comments>https://archive.mroczna-zaloga.org/archives/672-bootcamp-identyfikatory-globalne-i-lokalne-posrednie.html#comments</comments>
    <wfw:comment>https://archive.mroczna-zaloga.org/wfwcomment.php?cid=672</wfw:comment>

    

    <author>nospam@example.com (Paweł Goleń)</author>
    <content:encoded>
    Cały CSRF polega na tym, że jest to atak cross-site. Czyli kod powodujący odwołanie do serwera może być na stronie kompletnie niezwiązanej z aplikacją, którą atakujesz.  
    </content:encoded>

    <pubDate>Fri, 28 Sep 2012 08:28:31 +0200</pubDate>
    <guid isPermaLink="false">https://archive.mroczna-zaloga.org/archives/672-guid.html#c9041</guid>
    
</item>
<item>
    <title>fuzzy: Bootcamp: identyfikatory globalne i lokalne (pośrednie)</title>
    <link>https://archive.mroczna-zaloga.org/archives/672-bootcamp-identyfikatory-globalne-i-lokalne-posrednie.html#c9040</link>
            <category></category>
    
    <comments>https://archive.mroczna-zaloga.org/archives/672-bootcamp-identyfikatory-globalne-i-lokalne-posrednie.html#comments</comments>
    <wfw:comment>https://archive.mroczna-zaloga.org/wfwcomment.php?cid=672</wfw:comment>

    

    <author>nospam@example.com (fuzzy)</author>
    <content:encoded>
    Rzeczywiście, da się np poprzez tag img wywołać i usunąć niechciane wiadomości (chociaż w obrębie tylko aktualnego Ownera).

Mam pytanko: jak można w tym przykładzie wrzucić taki kod ofierze? W tej chwili po prostu modyfikowałem sobie w Fiddlerze response jaki ma wrócić i rzeczywiście sztuczka działa, jednocześnie w &quot;praktyce&quot; to raczej nie będę miał dostępu do ruchu między ofiarą a serwerem, dlatego dobrze byłoby umieć na stałe coś tam wrzucić :).
Jak coś takiego w tym przypadku zrobić? W Lekcji 4 i 5 było łatwiutko, ponieważ mieliśmy kontrolkę która wstawiała na formularz, tutaj już tak łatwo nie jest...  Więc jak? Da się? :)  
    </content:encoded>

    <pubDate>Fri, 28 Sep 2012 01:26:19 +0200</pubDate>
    <guid isPermaLink="false">https://archive.mroczna-zaloga.org/archives/672-guid.html#c9040</guid>
    
</item>
<item>
    <title>Paweł Goleń: Bootcamp: identyfikatory globalne i lokalne (pośrednie)</title>
    <link>https://archive.mroczna-zaloga.org/archives/672-bootcamp-identyfikatory-globalne-i-lokalne-posrednie.html#c8970</link>
            <category></category>
    
    <comments>https://archive.mroczna-zaloga.org/archives/672-bootcamp-identyfikatory-globalne-i-lokalne-posrednie.html#comments</comments>
    <wfw:comment>https://archive.mroczna-zaloga.org/wfwcomment.php?cid=672</wfw:comment>

    

    <author>nospam@example.com (Paweł Goleń)</author>
    <content:encoded>
    Pamiętaj, że to jest przykład, więc różne implementacje mogą to robić w różny sposób. Ogólnie chodzi o stworzenie pewnego mapowania między identyfikatorami globalnymi (np. id z bazy danych), a tym, co jest wyświetlane na stronie.

W chwili obsługi żądania następuje tłumaczenie na identyfikator globalny. Jest ono z oczywistych przyczyn możliwe do wykonania wyłącznie wtedy, gdy takie mapowanie istnieje. Dostęp do cudzych danych będzie wówczas niemożliwy (brak mapowania).

O ile mnie pamięć nie myli w tym konkretnym przypadku identyfikator obiektu jest zapisany w sesji i jeśli nie ma prawidłowego mapowania, to po prostu jest wykorzystywana ostatnia prawidłowa zapisana wartość.

A jeśli chodzi o podatność, to będzie to CSRF. Wcześniej atakujący nie znał identyfikatora wiadomości ofiary, więc atak był trudniejszy (musiał np. przeszukać dużą przestrzeń identyfikatorów lub w jakiś inny sposób ją ograniczyć). Wprowadzenie identyfikatora lokalnego znacznie atak ułatwia.  
    </content:encoded>

    <pubDate>Thu, 27 Sep 2012 11:54:59 +0200</pubDate>
    <guid isPermaLink="false">https://archive.mroczna-zaloga.org/archives/672-guid.html#c8970</guid>
    
</item>
<item>
    <title>fuzzy: Bootcamp: identyfikatory globalne i lokalne (pośrednie)</title>
    <link>https://archive.mroczna-zaloga.org/archives/672-bootcamp-identyfikatory-globalne-i-lokalne-posrednie.html#c8969</link>
            <category></category>
    
    <comments>https://archive.mroczna-zaloga.org/archives/672-bootcamp-identyfikatory-globalne-i-lokalne-posrednie.html#comments</comments>
    <wfw:comment>https://archive.mroczna-zaloga.org/wfwcomment.php?cid=672</wfw:comment>

    

    <author>nospam@example.com (fuzzy)</author>
    <content:encoded>
    Hej,

Mam pytanie co do tej nowej podatności, ponieważ szukam i znaleźć nie mogę... Możesz mi udzielić jakiejś podpowiedzi? :)

Jak się takie identyfikatory tworzy? Po prostu przy pierwszym gecie stronka nadaje takie identyfikatory (które później są w cookies) i od tej pory czeka sobie tylko na nie? Sprawdziłem, że dla każdego innego identyfikatora wyświetla ostatnio pobraną poprawnie wiadomość, czyli ma gdzieś sobie zapisane że np. id=1 to tak naprawde 2105643784 ( tak dalej) i jeśli poda się cokolwiek innego to serwer to olewa? Jak to właściwie działa?  
    </content:encoded>

    <pubDate>Thu, 27 Sep 2012 00:31:15 +0200</pubDate>
    <guid isPermaLink="false">https://archive.mroczna-zaloga.org/archives/672-guid.html#c8969</guid>
    
</item>

</channel>
</rss>