Online18 Posted December 22, 2011 Report Share Posted December 22, 2011 (edited) Vārdsakot jums ir pašiem sava lapa iekš dr.lv un jums ir slinkums kaut ko rakstīt runā sadaļā tad tagad ir pavisam viegli nospert citu idejas viss, kas nepieciešams mapīte iekš /www mapes un 3 script faili. index.php <? /* LOAD CONFIG FILE */ require('config.php'); /* DO NOT TOUCH THE CODE BELOW */ $draugi->get_lapas(); shuffle($draugi->lapas); foreach($draugi->lapas as $lapa) { if($lapa != '/caks-bass/') $draugi->get_ieraksti($lapa); } ?> config.php <?php /* REQUIRE */ require 'class.drlv.php'; /* SITE SETTINGS */ $user = array('e-pasts', 'parole'); $page_id = 13339110; $page_url = '/caks-bass/'; if(!defined('STOP_LOGIN')) $draugi = new drlv($user, $page_id, $page_url); ?> class.drlv.php <?php class drlv { private $cookie = ''; public $header; private $user = array(); private $lpp = 2; public $lapas = array(); public $page_id = 0 ; private $posted = 0; public $page_url; public $user_id = 0; private $ref = ''; public $check_login = true; public $logged_in = false; function __construct($user, $page_id, $page_url, $check = true) { define(DIR, dirname(__FILE__)); $this->check_login = $check; $this->user = $user; $this->page_id = $page_id; $this->page_url = $page_url; $this->logged_in = $this->login(); if(!$this->logged_in && $this->check_login) die('Nepareizi lietotāja dati.'); } function return_user_ids($data, $use_idx = true) { $friends = array(); preg_match_all('/sm_([0-9]+)\./', $data, $id); foreach($id[1] as $juzer) { if(!in_array($juzer, $friends) AND $juzer != $this->user_id) { if($use_idx) $friends[$juzer] = $juzer; else $friends[] = $juzer; } } return $friends; } function get_hash($data = false) { if(!$data) $data = $this->get('http://www.draugiem.lv'); preg_match_all('/nm_([^\"]+)\" value\=\"([^\"]+)\"/is', $data, $hash); return array('nm_' . $hash[1][0], $hash[2][0]); } function get_lapas() { for($i=1;$i<=$this->lpp;$i++) { $url = sprintf('http://www.draugiem.lv/lapas/?action=favorites&pg=%d', $i); $data = $this->get($url); preg_match_all('/\<div class\=\"userBox\"\> \<a class\=\"userPicture\" href\=\"([^\"]+)\"/', $data, $matches); foreach($matches[1] as $nr => $index) { if($index != $this->page_url) $this->lapas[] = $index; } sleep(2); } } function write_runa_teksts($url, $id, $text) { list($h, $v)= $this->get_hash($this->get('http://www.draugiem.lv')); $data = array( 'say[add][reply]'=>'', 'action'=>'add_comment', 'say[add][text]'=>$text, 'addCommentUid'=>$id, $h=>$v ); return $this->post($url, $data); } function post_teksts($text, $id) { if($this->posted > 50) { die('DONE'); sleep(10); } $url = 'http://www.draugiem.lv'.$this->page_url.'say/'; $this->write_runa_teksts($url, $this->page_id, $text); $this->posted++; } function get_ieraksti($lapa) { $skaits = rand(10, 100); $cur = 0; for($i=1;$i<=4; $i++) { $url = sprintf('http://www.draugiem.lv%ssay/index?pg=%d', $lapa, $i); $data = $this->get($url); preg_match_all('/id\=\"sayPost([0-9]+)\"\>((?:(?!\"body).)*)\"body\"\>((?:(?!\<\/div\>).)*)/is', $data, $ieraksts); foreach($ieraksts[1] as $nr => $posta_id) { $teksts = $this->parse_text($ieraksts[3][$nr]); if(!preg_match('/\</', $teksts)) { $cur++; $teksts = trim(htmlspecialchars_decode(urldecode($teksts))); //$teksts = utf8_encode($teksts); $this->post_teksts($teksts, $posta_id); sleep(2); } } sleep(2); } } function parse_text($text) { $text = preg_replace('/\<img src\=\"([^\"]+)\" class\=\"smiley\" alt\=\"([^\"]+)\" \/\>/is', '$2', $text); $text = preg_replace('/\<a href\=\"\/say\/click\.php\?url\=((?:(?!\&uid).)*)&uid\=([0-9]+)&pid\=([0-9]+)\" target\=\"_blank\" class\=\"externalUrl\"\>([^\<]+)\<\/a\>/is', '$1', $text); return $text; } function login() // notiek logins { list($username, $password) = $this->user; $open = $this->get('http://iphone.draugiem.lv/'); $cookie_segments = explode(';', str_ireplace('Set-Cookie: ', '', $this->header['5'])); $this->cookie = $cookie_segments[0]; preg_match_all('/hash\" value\=\"([^\"]*)\"/', $open, $matches); $hash = $matches[1][0]; $data = array('email'=>$username, 'password'=>$password, 'domain'=>'iphone.draugiem.lv', 'login'=>'Ienākt', 'hash'=>$hash, 'redir'=>'/', 'lang'=>'lv', ); $data = $this->post('http://secure.draugiem.lv/login/', $data); $cookie_segments = explode(';', str_ireplace('Set-Cookie: ', '', $this->header['9'])); $this->cookie = $cookie_segments[0]; $data = $this->get('http://www.draugiem.lv/'); $ids = $this->return_user_ids($data, false); $this->user_id = $ids[0]; return $this->user_id > 10000 ? true:false; } function post($url, $data = array()) { $options = array('http' => array( 'method' => 'POST', 'header'=>"Accept-language: en\r\n" . 'Referer: ' . $this->ref . "\r\n" . 'Cookie: ' . $this->cookie, 'content' => http_build_query($data) )); $context = stream_context_create($options); $res = @file_get_contents($url, false, $context); $this->header = $http_response_header; $this->ref = $url; return $res; } function get($url, $data = array()) { $options = array('http' => array( 'method' => 'GET', 'header'=>"Accept-language: en\r\n" . 'Referer: ' . $this->ref . "\r\n" . 'Cookie: ' . $this->cookie, 'content' => http_build_query($data) )); $context = stream_context_create($options); $res = @file_get_contents($url, false, $context); $this->header = $http_response_header; $this->ref = $url; return $res; } function logout() { $this->get('http://iphone.draugiem.lv/logout.php'); $this->cookie = ''; } function __destruct() { $this->logout(); } } ?> Ja jūs zinat vēl kādu noderīgu script priekš dr.lv tad lūdzu padalaties ar mani iekš šī paša topika sākam kodēt dažādākās lietas priekš draugiem[dot]lv Edited December 22, 2011 by Online18 Quote Link to comment Share on other sites More sharing options...
daGrevis Posted December 22, 2011 Report Share Posted December 22, 2011 > jums ir slinkums kaut ko rakstīt runā sadaļā tad tagad ir pavisam viegli nospert citu idejas Quote Link to comment Share on other sites More sharing options...
404 Posted December 22, 2011 Report Share Posted December 22, 2011 Izskatās ka draugu logins čeko refereri bet neiespringst uz user agent esamību. Tad jau boti laikam atļauti .trollface. Bet vispār jebkāda datu ievākšana neizmantojot API ož pēc visai nelegāla pasākuma ar nepatikšanām,jeb tomēr kļūdos? :) Quote Link to comment Share on other sites More sharing options...
marrtins Posted December 22, 2011 Report Share Posted December 22, 2011 Tu kļūdies. Quote Link to comment Share on other sites More sharing options...
rATRIJS Posted December 22, 2011 Report Share Posted December 22, 2011 if($this->posted > 50) { die('...'); sleep(10); } wha? Es vairāk šausminos par miksēto valodu kodā... Quote Link to comment Share on other sites More sharing options...
404 Posted December 22, 2011 Report Share Posted December 22, 2011 Vienkārši pašam ir interese pa retam kaut ko automatizēti pačekot bet neesmu riskējis to darīt,pieņemot ka pie mums lv pietiek automatizēti nomainīt lapai ID parametru,lai kļūtu par noziedznieku (Neo gadījums). Ir kāds pētījis kā pie mums šādas darbības tiek reglamentētas vispār? Sanāk ka mierīgi varu uzlaist cURL grabberi dajebkur un man neviens par to nevar piesieties ja vien saits nepieder kādai valsts iestādei? Kaut kā vairs nav ticības ka viss ir tik vienkārši,tāpēc prasīju vai kļūdos. Quote Link to comment Share on other sites More sharing options...
Kaklz Posted December 22, 2011 Report Share Posted December 22, 2011 Pirms kaut ko sāc darīt, drošības pēc palasi krimināllikumu - tur visai smuki ir atrunātas sliktās lietas. Kamēr tu maini ID ar rociņām, tikmēr viss ir forši. Ja tu uzraksti skriptu, tad jau tev var sākt piesieties. No otras puses - ja tu raksti zirnekli, kas staigā pa tev pieejamiem linkiem - visam vajadzētu būt kārtībā (kā nekā pēc šāda principa strādā meklētāji - Google, Bing, utt.). Problēmas, piemēram, rodas gadījumos, ja tu sāc kaitēt portāla darbībai. Piemēram tu ievāc lietotāju vārdus un paroles (ar kādu phishing lapu) un tad sāc viņu vārdā kaut ko rakstīt portālā. Šādā gadījumā tas smuki klasificējas zem krimināllikuma 241. panta: 241.pants. Patvaļīga piekļūšana automatizētai datu apstrādes sistēmai (1) Par patvaļīgu (bez attiecīgas atļaujas vai izmantojot citai personai piešķirtas tiesības) piekļūšanu automatizētai datu apstrādes sistēmai vai tās daļai, ja tas saistīts ar datu apstrādes sistēmas aizsardzības līdzekļu pārvarēšanu un ja ar to radīts būtisks kaitējums, — soda ar brīvības atņemšanu uz laiku līdz trim gadiem vai ar piespiedu darbu, vai ar naudas sodu līdz piecdesmit minimālajām mēnešalgām. (2) Par tādām pašām darbībām, ja tās izdarītas mantkārīgā nolūkā vai izraisījušas smagas sekas, — soda ar brīvības atņemšanu uz laiku līdz pieciem gadiem vai ar arestu, vai ar piespiedu darbu, vai ar naudas sodu līdz simt minimālajām mēnešalgām, konfiscējot mantu vai bez mantas konfiskācijas. (3) Par šā panta pirmajā daļā paredzētajām darbībām, ja tās vērstas pret valsts informācijas sistēmām, — soda ar brīvības atņemšanu uz laiku līdz astoņiem gadiem vai ar naudas sodu līdz simt astoņdesmit minimālajām mēnešalgām. Runājot par grabberiem - lai arī tas nav likumdošanā atrunāts, būtu pareizi, ka tu ievērotu /robots.txt saturā minētos noteikumus un .. vairumā gadījumu uz saturu tomēr darbojas kaut kādas autor/īpašumtiesības. Quote Link to comment Share on other sites More sharing options...
404 Posted December 22, 2011 Report Share Posted December 22, 2011 Nu tik tālu jauki,bet būtu interesanti palasīties pie reizes tavu viedokli,kāda ir draugiem politika attiecībā uz šādām darbībām.Respektīvi ja mans skripts ielogojas profilā un sāk mērķtiecīgi skrāpēt nost teiksim forumu vai domubiedrus.Tad es riskēju - ne ar ko (kurš tad manus uzķers starp miljoniem citu) - ne ar ko līdz brīdim kad piemirstu uzlikt sleep - tikt brīdināts vai reportēts uz CERT par mēģinājumu traucēt servera darbību - tikt izdzēsts nahren bez brīdinājuma - dabūt kaut kādu automātisku temp banu - citas sankcijas? Kā tur īsti ir? Atļauts ir viss kas nav aizliegts(atrunāts noteikumos)? :) Quote Link to comment Share on other sites More sharing options...
404 Posted December 22, 2011 Report Share Posted December 22, 2011 (edited) Lai kāds nepārprastu,gan piemetināšu,ka jautājums nav par ļaunprātīgām darbībām(bilžu vai profilu datu zagšana,spams,etc),kas būtu sodāms pasākums,bet,kā zināms-katras vietnes administrācija arī,ieraugot botu,to var interpretēt pa savam,un negribētos palikt bez profila dēļ tā,ka esmu ievācis sev interesējošu nosacīti publisku informāciju.Domāju ka ne man vienam būtu interesanti uzzināt,vai boti pie kaut kādiem nosacījumiem ir ok vai nav attiecībā uz draugiem. Edited December 22, 2011 by 404 Quote Link to comment Share on other sites More sharing options...
Online18 Posted December 23, 2011 Author Report Share Posted December 23, 2011 Tātad ir kādam vēl kādas idejas bez anilizēšanas, jo es jau saprotu visi mēs te mākam kaut ko uzkodēt, bet zināšanas nākas arī citreiz pielietot nelabām lietām ja to, protams, māk, bet ja nemāk nu tad neko tikai lasam citu veidotos scriptus un izsakam replikas utt. Visi kas vēlas iesaistīties man top tā teikt pat projektiņš kur tīri tiek izveidoti priekš dr.lv dažādi skripti, lai ar viņiem varētu manipulēt utt. Ja esat gatavi kaut ko palīdzēt, jo es nēesmu nekāds koderis man ir pirmais gads reāli tikai! Tātad ar mani varat sazināties caur skype: boss3314 vai dr.lv portālā: Spied Te Quote Link to comment Share on other sites More sharing options...
Kaklz Posted December 23, 2011 Report Share Posted December 23, 2011 zināšanas nākas arī citreiz pielietot nelabām lietām ja to, protams, māk .. un pēc tam nākas iepazīties ar visiem likumdošanas jaukumiem un apdomāt vai tas patiesībā bija to vērts :) Quote Link to comment Share on other sites More sharing options...
nemakuphp Posted December 23, 2011 Report Share Posted December 23, 2011 Kā ieraudzīju lietotāja Skype niku, sapratu, kurš tas ir. Šim lietotājam ir vājas zināšanas @ PHP. Viņš izmanto citu veidotus skriptus, arī šajā gadījumā zinu, kādus. Kaklz arī gan jau zin, ja ir lasījis PM no manis (šis nav tas pats cilvēks). Bet runājot par tēmu, es domāju, ka to var darīt, kamēr tas netraucē serveru darbību un nepārkāpj citu cilvēku autortiesības. Quote Link to comment Share on other sites More sharing options...
Online18 Posted December 23, 2011 Author Report Share Posted December 23, 2011 Kā ieraudzīju lietotāja Skype niku, sapratu, kurš tas ir. Šim lietotājam ir vājas zināšanas @ PHP. Viņš izmanto citu veidotus skriptus, arī šajā gadījumā zinu, kādus. Kaklz arī gan jau zin, ja ir lasījis PM no manis (šis nav tas pats cilvēks). Bet runājot par tēmu, es domāju, ka to var darīt, kamēr tas netraucē serveru darbību un nepārkāpj citu cilvēku autortiesības. Tieši tā un es jau teicu, ka vājas tikai pirmais gads! Quote Link to comment Share on other sites More sharing options...
aldis Posted January 8, 2012 Report Share Posted January 8, 2012 Nenormāli lēns šāds paņēmiens... Lai iegūtu datus, biežāk izmet timeoutu funkcijai, nekā kaut ko vsp. izvelk no lapas. :] Quote Link to comment Share on other sites More sharing options...
daGrevis Posted January 8, 2012 Report Share Posted January 8, 2012 > Lai iegūtu datus, biežāk izmet timeoutu funkcijai, nekā kaut ko vsp. izvelk no lapas. :] Tu jau saproti kāpēc tur ir sleep()? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.