Долго искал ленту новостей для сайта - все не нравились. В итоге плюнул и сделал свою. Но теперь встает вопрос о наличии в ней дыр и уязвимостей. Сама лента доступна по адресу http://4077.ru/news.php Админка http://4077.ru/news/admin.php Если кому не трудно - просьба поискать в ней дыры интересует любая мелочь - любые бесполезные xss за все обещаю + к репе Есть возможность оставления комментарьев с BB кодами! Сразу предупрежу что делал я ее наспех поэтому она кривая - по внешнему виду просьба не придираться P.S. как бы вы не думали это НЕ лента новостей manlix! Кроме элементво дизайна (которые я содрал) они с манликосм ничего общего не имеют )
NeX Читай выше. Первая же ковычка убила всю базу. Ща поправлю ) UPG Первую нелепейшую глупость устранил - отзовитесь хоть кто нашел )) Ща все работает можете дальше искать.
Лента не плахая , быстрая, багов не нашёл. Но тута нашёл _http://www.4077th.ru/page.php?id=1452' Незнаю эта ваш проект или нет, но всё таки интересно было )))
Гаврила, угу - теперь нам длинные слова/тексты не страшны А то сегодня аж сервер перегружен был. Ниразу не видел чтоб его так перегружали))
кстати никто не хочет систему залогинивания в админке проверить? Может там есть php inj или еще какая байда? http://4077.ru/news/admin.php Если кто-нибудь готов выделить время то расскажу как там пароль проверяется: Введнный логин записывается как $login, пароль - $password Скрипт сначала ищет в текстовой базе юзера с таким логином, затем сравнивает подходит ли его пароль к введенному. Если да то стартует сессия. (прим. $moder[nick] и $moder[pass] - это логин пароль N-ого администратора который берется из базы) PHP: $password = md5(md5($password)+$salt); if ($login == $moder[nick]) { if ($password == $moder[pass]) { session_start(); $_SESSION['adminlogin'] = "$login"; $_SESSION['adminpassword'] = "$password"; } }
правда кроме этого ниче полезного не дает... http://4077.ru/fullnews.php?post=999 а в админке вроде скуля нету..
m0nzt3r да, там просто отсутствует проверка на существование файла (надо будет добавить) но полюбе кроме цыфр переменная $post ничего не воспринимает, так что там копать бесполезно. Скуля тоже быть не может за отсутствием самого скуля база текстовая. ЗЫ для того кто пытался вставить линк через - тоже бессмысленно. Форматировани...низу над формой, и фильтруется от html кодов.
При посылки post запроса все равно выполняется скрипт. Не фильтруется nick, email, text. POST http://4077.ru/fullnews.php?post=5&%C2%EF%E5%F0%E5%E4=1 HTTP/1.0 Accept: */* Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322) Host: 4077.ru Content-Length: 151 Connection: Close Pragma: no-cache nick="><script>alert('XSS')%3B</script>&email=1&commenterror=%C7%E0%EF%EE%EB%ED%E8%F2%E5%20%E2%F1%E5%20%EF%EE%EB%FF%21&text=1