Показать сообщение отдельно

  #6  
Старый 19.08.2011, 21:47
ne0k
Познающий
Регистрация: 03.03.2011
Сообщений: 51
Провел на форуме:
10960

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

Цитата:
Сообщение от +toxa+  
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if ([/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'templ_title'[/COLOR][COLOR="#007700"]] !=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]) {

[/
COLOR][COLOR="#0000BB"]$wpdb[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]insert[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]TEMPLATES_TABLE[/COLOR][COLOR="#007700"], array([/COLOR][COLOR="#DD0000"]'gall_type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$gall_type[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'gall_settings'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]serialize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$settings[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#DD0000"]'created'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]date[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Y-m-d"[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#DD0000"]'templ_title'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'templ_title'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#DD0000"]'templ_description'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'templ_description'[/COLOR][COLOR="#007700"]]));

...[/
COLOR][/COLOR
http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
конструкция может прикатить при условии что где-то будет вывод из TEMPLATES_TABLE. а слепую можно замутить с if() и/или benchmark().
Есть вывод, когда $_GET['action'] = 'load', т.е.

http://localhost/wp/wordpress/wp-content/plugins/gallery/templ.php?gall_id=1&action=load

Тут выводится 'templ_title' и 'templ_description', соответственно получается активная XSS, так как при templs.php?action=save, я в пост запросы без проблем могу передать что угодно, в данном случае javascript.. Код инсертится в БД, а потом при лоаде выводится.. Не совсем вкурил насчет "INSERT ... ON DUPLICATE KEY UPDATE".. Попробую вкурить...
 
Ответить с цитированием