Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Песочница (https://forum.antichat.xyz/forumdisplay.php?f=189)
-   -   обход фильтраци для xss? (https://forum.antichat.xyz/showthread.php?t=220742)

s0llo 30.07.2010 23:52

народ прошу помочь с xss...

как можно вывести алерт при таком php коде?(guestbook)

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]mysql_error[/COLOR][COLOR="#007700"]() .[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]);



}



[/COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR] 

как быть с этим?

==============================================

$message = trim(strip_tags(addslashes($message)));

$message = htmlspecialchars($message);

brain[pillow] 31.07.2010 18:29

Никак.

s0llo 31.07.2010 20:13

Цитата:

Сообщение от brain[pillow
"]
brain[pillow] said:
Никак.

этот код есть в тесте по xss (уровень теста 2) всего 3!

так что проблема решимая!!!

тест dvwa 1.6

s0llo 31.07.2010 20:34

Цитата:

Сообщение от Nightmarе
Nightmarе said:
имя не фильтруется htmlspecialchars, потому в нике думаю можно писать HTML код.
А так конечно же шаманство с кодировками.

ага, это так

но в

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]trim[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]strip_tags[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]addslashes[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"])));[/COLOR][/COLOR

тут все пробелы и скрипты удаляються...

как это можно обойти?

и еще:

в переменную $name разрешено всего 10 символов!

|qbz| 31.07.2010 20:40

попробуй 'alert(1)

s0llo 31.07.2010 20:47

Цитата:

Сообщение от |qbz|
|qbz| said:
попробуй 'alert(1)

в $message не выйдет... там htmspecialchars мешает!

в $name я уже описал!!!

_iks_ 01.08.2010 10:32

Цитата:

Сообщение от s0llo
s0llo said:
и еще:
в переменную $name разрешено всего 10 символов!

В том коде, что ты привел, я не вижу, что бы он обрезался. Если ограничение стоит на форму, то редактор исходников страницы тебе в помощь. Правда, возможности внедрить код я не наблюдаю всё равно.

P.S.

dvwa пройти невозможно, на высоких уровнях имеются непроходимые задания, и судя по всему это одно из них.

[Feldmarschall] 16.08.2010 19:12

http://raz0r.name/vulnerabilities/sql-inekcii-svyazannye-s-multibajtovymi-kodirovkami-i-addslashes/

Unknown 16.08.2010 22:28

Цитата:

Сообщение от [Feldmarschall
"]
[Feldmarschall] said:
http://raz0r.name/vulnerabilities/sql-inekcii-svyazannye-s-multibajtovymi-kodirovkami-i-addslashes/

Ок, есть скрипт.

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"]mysql_connect[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'localhost'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'root'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]mysql_select_db[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'bf'[/COLOR][COLOR="#007700"]);

if(isset([/
COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'btnSign'[/COLOR][COLOR="#007700"]]))

{



[/COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]trim[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'mtxMessage'[/COLOR][COLOR="#007700"]]);

[/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]trim[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'txtName'[/COLOR][COLOR="#007700"]]);



[/COLOR][COLOR="#FF8000"]// Sanitize message input

[/COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]trim[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]strip_tags[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]addslashes[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"])));

[/COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]mysql_real_escape_string[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"]);

[/COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]htmlspecialchars[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"]);



[/COLOR][COLOR="#FF8000"]// Sanitize name input

[/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]trim[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]strip_tags[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]addslashes[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"])));

[/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]mysql_real_escape_string[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"]);



[/COLOR][COLOR="#0000BB"]$query[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"INSERT INTO guestbook (comment,name) VALUES ('[/COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#DD0000"]','[/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#DD0000"]');"[/COLOR][COLOR="#007700"];

print[/COLOR][COLOR="#0000BB"]$query[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]mysql_query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$query[/COLOR][COLOR="#007700"]) or die([/COLOR][COLOR="#0000BB"]mysql_error[/COLOR][COLOR="#007700"]());



}



[/COLOR][/COLOR

Удачи.


Время: 03:17