HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Песочница
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 19.12.2011, 00:34
trololoman96
Guest
Сообщений: n/a
Провел на форуме:
29020

Репутация: 55
По умолчанию

Навряд ли конечно, но может будет полезно, is_numeric() пропускает хекс

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"]$test[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]is_numeric[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'0x3a'[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]var_dump[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$test[/COLOR][COLOR="#007700"]);

[/
COLOR][/COLOR
возвращает bool(true), хз как это можно использовать тут, но может наведет кого на мысли.
 
Ответить с цитированием

  #12  
Старый 19.12.2011, 00:39
Konqi
Постоянный
Регистрация: 24.06.2009
Сообщений: 542
Провел на форуме:
2101094

Репутация: 672


Отправить сообщение для Konqi с помощью ICQ
По умолчанию

Цитата:
Сообщение от trololoman96  
trololoman96 said:
Навряд ли конечно, но может будет полезно, is_numeric() пропускает хекс
PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"]$test[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]is_numeric[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'0x3a'[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]var_dump[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$test[/COLOR][COLOR="#007700"]);

[/
COLOR][/COLOR
возвращает bool(true), хз как это можно использовать тут, но может наведет кого на мысли.
PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"] 0x756e696f6e2b73656c656374

[/COLOR][COLOR="#0000BB"]$test[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]is_numeric[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'0x756e696f6e2073656c656374'[/COLOR][COLOR="#007700"]);

[/COLOR][COLOR="#0000BB"]var_dump[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$test[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR] 
bool(false)

откуда такая инфа ?
 
Ответить с цитированием

  #13  
Старый 19.12.2011, 00:43
trololoman96
Guest
Сообщений: n/a
Провел на форуме:
29020

Репутация: 55
По умолчанию

У меня 0x756e696f6e2073656c656374 возвращает true.

Тестилось на Apache/2.2.8 (Win32) PHP/5.2.6

--------

инфа взята с бложека разора, http://raz0r.name/mysli/phpids-za-i-protiv/

вычитано в коментах
 
Ответить с цитированием

  #14  
Старый 19.12.2011, 00:46
M_script
Новичок
Регистрация: 04.11.2004
Сообщений: 5
Провел на форуме:
4512

Репутация: 0
По умолчанию

Допустим, is_numeric обошли. Как из кавычек в запросе выйти?
 
Ответить с цитированием

  #15  
Старый 19.12.2011, 00:50
Konqi
Постоянный
Регистрация: 24.06.2009
Сообщений: 542
Провел на форуме:
2101094

Репутация: 672


Отправить сообщение для Konqi с помощью ICQ
По умолчанию

Цитата:
Сообщение от trololoman96  
trololoman96 said:
У меня 0x756e696f6e2073656c656374 возвращает true.
Тестилось на Apache/2.2.8 (Win32) PHP/5.2.6
--------
инфа взята с бложека разора, http://raz0r.name/mysli/phpids-za-i-protiv/
вычитано в коментах
0x3a пропускает потому что оно число в hex (13) 0011 (2^0 + 2^1) + 1010 (2^1+2^3)

а текст пропускать не может
 
Ответить с цитированием

  #16  
Старый 19.12.2011, 00:57
trololoman96
Guest
Сообщений: n/a
Провел на форуме:
29020

Репутация: 55
По умолчанию

Konqi, почему тогда 0x756e696f6e2073656c656374 у меня тоже возвращает true ?

---------

Протестировал еще на PHP Version 5.2.17 (linux) тоже вернуло true
 
Ответить с цитированием

  #17  
Старый 19.12.2011, 01:04
Konqi
Постоянный
Регистрация: 24.06.2009
Сообщений: 542
Провел на форуме:
2101094

Репутация: 672


Отправить сообщение для Konqi с помощью ICQ
По умолчанию

Windows NT/ php 5.1.6 - false

Linux / 5.2.6 - true

Linux / 5.2.17 - true

хм =\

p.s если вернемся к теме, то ясно становится, если даже is_numeric Поможет обойти фильтр, то вес запрос все равно в hex виде не отправишь в бд, база операторы в хекс виде не поймет, так что с этим все равно облом, но тему is_numeric стоит исследовать..
 
Ответить с цитированием

  #18  
Старый 19.12.2011, 01:06
Expl0ited
Guest
Сообщений: n/a
Провел на форуме:
262707

Репутация: 935
По умолчанию

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
Код:
Code:
Str: union select 1 from table#
Hex value:0x756e696f6e2073656c65637420312066726f6d207461626c6523
is_numeric? - bool(true)

--------------------

Str: $%^&*(Jkabhsdf
Hex value:0x24255e262a284a6b616268736466
is_numeric? - bool(true)

--------------------

Str: test
Hex value:0x74657374
is_numeric? - bool(true)

--------------------

Str: UniON/**/SELECT/**/1
Hex value:0x556e694f4e2f2a2a2f53454c4543542f2a2a2f31
is_numeric? - bool(true)

--------------------

Str: -1/*!UnioN SELEct*/1,2,3
Hex value:0x2d312f2a21556e696f4e2053454c4563742a2f312c322c33
is_numeric? - bool(true)
Если же убрать 0x в хекс значении:

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
Код:
Code:
Str: union select 1 from table#
Hex value:756e696f6e2073656c65637420312066726f6d207461626c6523
is_numeric? - bool(false)

--------------------

Str: $%^&*(Jkabhsdf
Hex value:24255e262a284a6b616268736466
is_numeric? - bool(false)

--------------------

Str: test
Hex value:74657374
is_numeric? - bool(true)

--------------------

Str: UniON/**/SELECT/**/1
Hex value:556e694f4e2f2a2a2f53454c4543542f2a2a2f31
is_numeric? - bool(false)

--------------------

Str: -1/*!UnioN SELEct*/1,2,3
Hex value:2d312f2a21556e696f4e2053454c4563742a2f312c322c33
is_numeric? - bool(false)
Хотя это понятно, он воспринимает хек значение без 0x как обычную строку.
 
Ответить с цитированием

  #19  
Старый 19.12.2011, 01:20
Expl0ited
Guest
Сообщений: n/a
Провел на форуме:
262707

Репутация: 935
По умолчанию

а вообще если разобрать код из первого поста:

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"]$num[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]mysql_numrows[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$result[/COLOR][COLOR="#007700"]);

[/COLOR][COLOR="#0000BB"]$i[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];

while ([/COLOR][COLOR="#0000BB"]$i[/COLOR][COLOR="#007700"]'
[/COLOR][COLOR="#007700"];

echo
[/COLOR][COLOR="#DD0000"]'ID: '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$id[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'
First name: '
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$first[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'
Surname: '
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$last[/COLOR][COLOR="#007700"];

echo
[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];

[/COLOR][COLOR="#0000BB"]$i[/COLOR][COLOR="#007700"]++;

}

}

}

[/COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR] 
Я так полагаю автор привел не полный код уязвимого скрипта. В данном коде, лично я, уязвимостей не наблюдаю.
 
Ответить с цитированием

  #20  
Старый 19.12.2011, 01:52
KolosJey
Новичок
Регистрация: 21.12.2009
Сообщений: 0
Провел на форуме:
15756

Репутация: 0
По умолчанию

is_numeric() разумеется пропускает 0xlalala, потому что это ЧИСЛО.

И даже если переменная в запросе не будет обрамлена кавычками (id=$id)

то всё равно инъекции не будет, база такое гавно не схавает

А если бы это было возможно, то все WAFы сосали бы сразу, т.к. по этой логике можно сразу весь запрос переводить в HEX и не парится )

PS Об этом свойстве is_numeric примерно раз в год все вспоминают\открывают заново и начинаются движения и исследования, которые ничем не кончаются, и снова забвение на год )
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ