Kontextová menu v Opeře - submenu s BBCode, HTML, SQL-injection a XSS vektory (třetí díl)
June 1st, 2008
Dneska si pohrajeme s formuláři, resp. s inputy a textareami a na závěr trošku začarujeme s odkazy. Hodně často musí člověk datlovat ve fórech BBCode, nebo nedej bože HTML. Není tedy od věci, aby jsme si tyhle rutinky trošku ulehčili.
Formuláře

[Edit Widget Popup Menu] Submenu, 67653, Edit Widget Insert Menu Submenu, 67654, Internal Note List -------------------- Submenu, "BBcode", BBCode Submenu, "Texy!", Texy Submenu, "HTML", HTML Submenu, "XSS", XSS Submenu, "SQL injection", SQL --------------------1 Item, 50864 = Undo Item, 68116 = Redo --------------------2 Item, 50865 = Cut Item, 50866 = Copy Item, 50867 = Paste Item, 50868 = Delete --------------------3 Item, 67652 = Copy to note --------------------4 Item, 67655 = Clear Item, 50869 = Select all --------------------5 Item, 69620 = Spell check --------------------6 Item, 1560773594 = Create search [BBCode] Item, "[code]"=Cut & Insert, "[code]" & Paste & Insert, "[/code]" Item, "[img]"=Cut & Insert, "[img]" & Paste & Insert, "[/img]" Item, "[quote]"=Insert, "[quote]" & Paste & Insert, "[/quote]" Item, "[url]"=Cut & Insert, "[url=" & Paste & Insert, "][/url]" Item, "[url simple]"=Cut & Insert, "[url]" & Paste & Insert, "[/url]" Item, "[b]"=Cut & Insert, "[b]" & Paste & Insert, "[/b]" [Texy] Item, "href"=Cut & Insert, "'title':" & Paste & Insert Item, "image"=Cut & Insert, "[* " & Paste & Insert, " *]"
Jak vytvořit submenu umíme už od minule, takže jediná novinka je použití schránky. Jak vidíte, pomocí Cut vyřízneme výběr do schránky, Insertem vložíme začátek BBCodu, posléze obsah schránky a nakonec uzavřeme tag. Zbytek už je stále to samé, takže si to komentář ani nezaslouží. Snad jen poznámka, zatím se mi nepodařilo přijít na to, jak do hodnoty vložit úvozovky (zvláště se hodí při testování SQL a XSS zranitelností). Takže jen opravdu ilustrativně, každý si určitě přidá svůj oblíbený značkovací jazyk, nebo cokoliv jiného.
[HTML]
Item, "<img>"=Cut & Insert, "<img src='" & Paste & Insert, "' />"
Item, "<a>"=Cut & Insert, "<a href='" & Paste & Insert, "'></a>"
Item, "<a blank>"=Cut & Insert, "<a href='" & Paste & Insert, "' target='_blank'></a>"
Item, "<p>"=Insert, "<p>" & Paste & Insert, "</p>"
Item, "<br/>"=Cut & Insert, "<br/>" & Paste & Insert, "<br/>"
Item, "<strong>"=Cut & Insert, "<strong>" & Paste & Insert, "</strong>"
[XSS]
Item, "test"=Insert, "';!--<you suck>=&{()}""
Item, "alert"=Insert, "<script>alert('pwned')</script>"
Item, "loop alert"=Insert, "<script>while(1) { alert('pwned'); }</script>"
[SQL]
Item, "bypass"=Insert, "admin'/*"
Item, "bypass2"=Insert, "admin'--"
Item, "condition"=Insert, "' OR 1=1 /*
Item, "condition2"=Insert, "' OR 1=1 --"
Item, "condition3"=Insert, "' OR 1=1 #"
Odkazy

Občas se hodí otevřít odkaz nejen v novém okně, ale třeba v jiném prohlížeči, uložit ho do nějaké bookmarkovací služby, nebo jen prozaicky stáhnout. Stahování wgetem jsme řešili minule, různé bookmarkovací služby si každý jednoduše nastaví sám (důležitá je jen proměnná %l, která obsahuje url odkazu. Zastavím se tedy letmo u spusštění v jiném prohlížeči (ikdyž princip spuštění externího programu se tady už také probíral).
[Link Popup Menu] Submenu, "save to...", savetol Item, 50216 = Copy link Item, bmark this = Go to page,"http://bookamark.xxx/?action=add&uri=%l" --------------------1 Item, "Open in Firefox 2" = Execute program, "firefox-2","%l" Item, "Open in Firefox 3" = Execute program, "firefox","%l" Item, "Open in IE6" = Execute program, "/home/starenka/bin/ie6","%l" Item, "Open in IE7" = Execute program, "/home/starenka/bin/ie7","%l" Item, "Open in Konqueror" = Execute program, "konqueror","%l" --------------------2 ;Item, 67389 = Open link Item, 53018 = Open link in new page Item, 53019 = Open link in background page ;--------------------2 ;Item, 54020 = Open link in new window ;Item, 67633 = Open link in background window --------------------3 ;Item, 70463 = Add link to bookmarks Item, 50761 = Save link Item, 581357748 = Download url ;--------------------4 ;Submenu, 22235, Document Popup Menu [savetol] Item, /down = Execute program, "konsole","--noframe --notoolbar --nomenubar --vt_sz 90x10 -e wget %l --directory-prefix=/down" Item, /junk = Execute program, "konsole","--noframe --notoolbar --nomenubar --vt_sz 90x10 -e wget %l --directory-prefix=/junk" Item, /mp3/new = Execute program, "konsole","--noframe --notoolbar --nomenubar --vt_sz 90x10 -e wget %l --directory-prefix=/mp3/000_new"
Dnešní řádění ke stažení tady.
