PDA

View Full Version : سوال: مشکل در ارسال کد امنیتی در یک درخواست جعلی



tam2145
یک شنبه 11 اسفند 1392, 10:59 صبح
سلام
من دارم یک اسکریپت می نویسم که بتونم به صورت اتوماتیک از سایتم برای وبلاگم که توی رزبلاگ هست ، پیام { تماس با ما } بفرستم . حالا با استفاده از تابع file_get_contents و جعل request headers توانستم خودمو به عنوان بازدیدکننده جا بزنم ولی یه کپچا به آدرس : http://rozveb.ir/include/captcha/cap7.php?name_sess=contact_sess { این آدرس مال وبلاگ توی رزبلاگ هست | سایت نیست ااااا } داره که باید هنگام ارسال درخواست ارسال بشه !!:لبخند:
من ارسال می کنم و وقتی که رسپانس برگشت داده رو میگیرم ، میگه کد امنیتی رو اشتباه وارد کردی. :متفکر:
به نظرتون مشکل در کجا هست ؟؟ یعنی باید اطلاعات دیگری هم به صورت جعلی ارسال کنم ؟؟ یا اشتباه دارم کد امنیتی رو می فرستم ؟؟
کمک کنید ... دمتون گرم. ....:قلب:

abolfazl-z
یک شنبه 11 اسفند 1392, 21:57 عصر
سلام
من دارم یک اسکریپت می نویسم که بتونم به صورت اتوماتیک از سایتم برای وبلاگم که توی رزبلاگ هست ، پیام { تماس با ما } بفرستم . حالا با استفاده از تابع file_get_contents و جعل request headers توانستم خودمو به عنوان بازدیدکننده جا بزنم ولی یه کپچا به آدرس : http://rozveb.ir/include/captcha/cap7.php?name_sess=contact_sess { این آدرس مال وبلاگ توی رزبلاگ هست | سایت نیست ااااا } داره که باید هنگام ارسال درخواست ارسال بشه !!:لبخند:
من ارسال می کنم و وقتی که رسپانس برگشت داده رو میگیرم ، میگه کد امنیتی رو اشتباه وارد کردی. :متفکر:
به نظرتون مشکل در کجا هست ؟؟ یعنی باید اطلاعات دیگری هم به صورت جعلی ارسال کنم ؟؟ یا اشتباه دارم کد امنیتی رو می فرستم ؟؟
کمک کنید ... دمتون گرم. ....:قلب:

ابتدا کد امنیتی رو دانلود کرده سپس به کاربر خود نشان دهید. و کدامنیتی را با موارد دیگر به صفحه موردنظر ارسال کنید.

tam2145
دوشنبه 12 اسفند 1392, 07:46 صبح
چطوری دانلود کنم و ارسال کنم ، آقا ابولفضل ؟؟؟
یعنی نمیشه مثل همون جعل کردن فرستاد ؟؟

eshpilen
دوشنبه 12 اسفند 1392, 08:19 صبح
یعنی نمیشه مثل همون جعل کردن فرستاد ؟؟
خب دیگه کپچا واسه همینه که از ارسال های خودکار جلوگیری بشه.
البته میشه گفت بیشتر کپچاها قابل کرک هستن؛ منتها باید تحقیق کنید برنامش رو گیر بیارید و ازش استفاده کنید؛ خلاصه دنگ و فنگ داره و باید وارد باشید. اگر در پردازش تصویر تخصص داشته باشید احتمالا بتونید برنامش رو خودتون بنویسید واسه کپچاهای ضعیف. البته این پردازش ها طبیعتا بار پردازشی و زمان به عملیات اضافه میکنه که نمیدونم در چه حدودی است.

abolfazl-z
دوشنبه 12 اسفند 1392, 08:49 صبح
چطوری دانلود کنم و ارسال کنم ، آقا ابولفضل ؟؟؟
یعنی نمیشه مثل همون جعل کردن فرستاد ؟؟

اینجا فقط راه حل گفته میشود ! (برنامه نویسی با خودتون:لبخندساده:)


خب دیگه کپچا واسه همینه که از ارسال های خودکار جلوگیری بشه.
البته میشه گفت بیشتر کپچاها قابل کرک هستن؛ منتها باید تحقیق کنید برنامش رو گیر بیارید و ازش استفاده کنید؛ خلاصه دنگ و فنگ داره و باید وارد باشید. اگر در پردازش تصویر تخصص داشته باشید احتمالا بتونید برنامش رو خودتون بنویسید واسه کپچاهای ضعیف. البته این پردازش ها طبیعتا بار پردازشی و زمان به عملیات اضافه میکنه که نمیدونم در چه حدودی است.

نه دیگه ما نمی خواهیم اسپم کنیم. درواقع می خواهیم بشیم یک پل ارتباطی.
یعنی دراقع بیاییم صفحه example.com/connect-us را دانلود می کنیم(با سرور) و از این صفحه آدرس کد امنیتی رو یافت کرده و آن را دانلود می کنیم به محض دانلود یک سشن برای ارسال می شود که ما این سشن رو در ذخیره می کنیم. بعد کد امنیتی رو به کاربر نشان می دهیم بعد کاربر کد امنیتی را وارد کرده(بعلاوه فیلد های دیگر) و برای ما میفرستد و ما هم به example.com/connect-us می فرستیم.

درست هست دیگه ؟

tam2145
دوشنبه 12 اسفند 1392, 09:04 صبح
خب دیگه کپچا واسه همینه که از ارسال های خودکار جلوگیری بشه.
البته میشه گفت بیشتر کپچاها قابل کرک هستن؛ منتها باید تحقیق کنید برنامش رو گیر بیارید و ازش استفاده کنید؛ خلاصه دنگ و فنگ داره و باید وارد باشید. اگر در پردازش تصویر تخصص داشته باشید احتمالا بتونید برنامش رو خودتون بنویسید واسه کپچاهای ضعیف. البته این پردازش ها طبیعتا بار پردازشی و زمان به عملیات اضافه میکنه که نمیدونم در چه حدودی است.
من قصد اسپم دهی ندارم ولی می خواهم یک ارتباط بین این دو ایجاد کنم ... ولا من تازه کار هستم و فک نکنم فعلا از این کار بر بیام ...


اینجا فقط راه حل گفته میشود ! (برنامه نویسی با خودتون:لبخندساده:)
دست شما درد نکنه ... خب حداقل مث اون دفعه اسم توابع مورد نیاز یا حداقل یه سرنخی بدید که بکار بیاد ... ولا هر چی سرچ می کنم ، چیزی نمیاد ...


یعنی دراقع بیاییم صفحه example.com/connect-us را دانلود می کنیم(با سرور) و از این صفحه آدرس کد امنیتی رو یافت کرده و آن را دانلود می کنیم به محض دانلود یک سشن برای ارسال می شود که ما این سشن رو در ذخیره می کنیم. بعد کد امنیتی رو به کاربر نشان می دهیم بعد کاربر کد امنیتی را وارد کرده(بعلاوه فیلد های دیگر) و برای ما میفرستد و ما هم به example.com/connect-us می فرستیم.
راهنمایی خوبی بود . راه حل گفته شد ... حالا سوالات مهم ...سشن چطوری ارسال می شود و در قالب چه پارامتری ؟!!! چگونه بگیرمش که در نره .... خخخخ ، چطوری تصویر رو به هاست خودم منتقل کنم و چطوری پاکش کنم ... خخخخ

abolfazl-z
دوشنبه 12 اسفند 1392, 09:04 صبح
البته باز همین خودش یک مشکل دارد که فقط یک بار در هر زمان میشه از سرور استفاده کرد. (باید مدیریت بشه)

kab00k
دوشنبه 12 اسفند 1392, 09:10 صبح
به جای file_get_contents باید از curl استففاده کنید

من قبلا این کارو کردم و جواب داده

از این متد استفاده کنید


function url_fetch( $url, $z=null ) { $ch = curl_init($url);


$useragent = isset($z['useragent']) ? $z['useragent'] : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2';

curl_setopt( $ch, CURLOPT_HTTPHEADER, array("REMOTE_ADDR: 127.0.0.1", "HTTP_X_FORWARDED_FOR: 127.0.0.1", "SERVER_ADDR: 127.0.0.1", "SERVER_NAME: localhost", "REMOTE_PORT: 80"));


curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
if( isset($z) ) curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt( $ch, CURLOPT_POST, isset($z['post']) );
// $z['post'] = http_build_query($z['post'], '', '&');
if( isset($z['postfilds']) ) curl_setopt( $ch, CURLOPT_POSTFIELDS, $z['postfilds'] );
if( isset($z['refer']) ) curl_setopt( $ch, CURLOPT_REFERER, $z['refer'] );

// $header = "X-Forwarded-For: 127.0.0.1, '127.0.0.1'";
// curl_setopt($ch, CURLOPT_HTTPHEADER, array($header));
// curl_setopt( $ch, CURLOPT_REFERER, $url );
curl_setopt( $ch, CURLOPT_USERAGENT, $useragent );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, ( isset($z['timeout']) ? $z['timeout'] : 5 ) );
curl_setopt( $ch, CURLOPT_COOKIEJAR, $z['cookiefile'] );
curl_setopt( $ch, CURLOPT_COOKIEFILE, $z['cookiefile'] );


$result = curl_exec( $ch );
curl_close( $ch );
return $result;
}


نمیدونم چرا کدها را تو تگ php میزارم به هم میریزه :متعجب:

tam2145
دوشنبه 12 اسفند 1392, 09:15 صبح
من دقت کردم در هنگام ارسال یه Content-Type ارسال میشه که طبق زیر هست :




Content-Type : multipart/form-data; boundary=---------------------------576886898997



حالا فکر کنم این عددی که آخرش هست به کد امنیتی ما ربط داره و باید به هنگام ارسال از سمت ما به سرور مقصد فرستاده شود ... حالا این عدد از کجا اومده و چطوری بگیرمش برایم سوالی هست .

اون مشکل ، یعنی در هر زمان می شود فقط 1 نامه ارسال کرد ؟؟

tam2145
دوشنبه 12 اسفند 1392, 09:21 صبح
به جای file_get_contents باید از curl استففاده کنید

من قبلا این کارو کردم و جواب داده

از این متد استفاده کنید
..........
نمیدونم چرا کدها را تو تگ php میزارم به هم میریزه :متعجب:

مرسی دوست عزیز ...
الان کدها دقیقا چیکار می کنند ؟؟؟

kab00k
دوشنبه 12 اسفند 1392, 09:28 صبح
برای دریافت و ارسال اطلاعات به اون سایتی که میخواید اطلاعات را بفرستید

ابتده با این فانکشن اون صفحه مورد نظر را دانلود میکنید البته یکم بعدش کار داره بستگی به سایت یا وبلاگ داره یکم str_rplace استفاده میکنی
بعدش با همین فانکشن اطلاعات را ارسال میکنید
کد امنیتی را قبول میکنه !

قبلا یکی از دوستانم خواست چنین کدی براش آماده کنم که فقط کد امنیتی نشون بده و بقیه اطلاعاتش ذخیره شده باشه
اسکریپت صفحه ها را دانلود میکرد و اپراتور پشت سیستم فقط کد امنیتی را میزد و اطلاعات ارسال میشد و بعدش اسکریپت میرفت سراغ سایت بعدی ! اینجوری نیازی به ocr کردن کد امنیتی نبود

tam2145
دوشنبه 12 اسفند 1392, 09:39 صبح
برای دریافت و ارسال اطلاعات به اون سایتی که میخواید اطلاعات را بفرستید
ابتده با این فانکشن اون صفحه مورد نظر را دانلود میکنید البته یکم بعدش کار داره بستگی به سایت یا وبلاگ داره یکم str_rplace استفاده میکنی
بعدش با همین فانکشن اطلاعات را ارسال میکنید
کد امنیتی را قبول میکنه !
قبلا یکی از دوستانم خواست چنین کدی براش آماده کنم که فقط کد امنیتی نشون بده و بقیه اطلاعاتش ذخیره شده باشه
اسکریپت صفحه ها را دانلود میکرد و اپراتور پشت سیستم فقط کد امنیتی را میزد و اطلاعات ارسال میشد و بعدش اسکریپت میرفت سراغ سایت بعدی ! اینجوری نیازی به ocr کردن کد امنیتی نبود

این تابع دو تا ورودی داره ... یکی ش که انگار نال میشه اتوماتیک و اون یکی آدرس مورد نظر ما ...
در اخر هم یه result بر می گردونه ... حالا این متغییر داخلش چیه ... ؟؟
اون وقت چگونه با این تابع اطلاعات رو ارسال کنم ؟؟؟ آخه یه آدرس و لینک که بیشتر نمیگیره ؟!!!

kab00k
دوشنبه 12 اسفند 1392, 09:48 صبح
ازش اینجوری استفاده کنید


<?php
function url_fetch( $url, $z=null ) { $ch = curl_init($url);
$useragent = isset($z['useragent']) ? $z['useragent'] : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2'; curl_setopt( $ch, CURLOPT_HTTPHEADER, array("REMOTE_ADDR: 127.0.0.1", "HTTP_X_FORWARDED_FOR: 127.0.0.1", "SERVER_ADDR: 127.0.0.1", "SERVER_NAME: localhost", "REMOTE_PORT: 80"));
curl_setopt( $ch, CURLOPT_URL, $url ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $ch, CURLOPT_AUTOREFERER, true ); curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true ); if( isset($z) ) curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt( $ch, CURLOPT_POST, isset($z['post']) ); // $z['post'] = http_build_query($z['post'], '', '&'); if( isset($z['postfilds']) ) curl_setopt( $ch, CURLOPT_POSTFIELDS, $z['postfilds'] ); if( isset($z['refer']) ) curl_setopt( $ch, CURLOPT_REFERER, $z['refer'] ); // $header = "X-Forwarded-For: 127.0.0.1, '127.0.0.1'"; // curl_setopt($ch, CURLOPT_HTTPHEADER, array($header)); // curl_setopt( $ch, CURLOPT_REFERER, $url ); curl_setopt( $ch, CURLOPT_USERAGENT, $useragent ); curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, ( isset($z['timeout']) ? $z['timeout'] : 5 ) ); curl_setopt( $ch, CURLOPT_COOKIEJAR, $z['cookiefile'] ); curl_setopt( $ch, CURLOPT_COOKIEFILE, $z['cookiefile'] );
$result = curl_exec( $ch ); curl_close( $ch ); return $result; } $myurl = "http://barnamenevis.org/Login.php"; if ($_POST) { $posts = $_POST; foreach ( $posts as $kay=>$valu ){ $array_post[$kay] = $valu; } $z['post'] = $posts; $z['postfilds'] = http_build_query($array_post, '', '&'); $z['cookiefile'] = 'cookiefile.txt'; $z['refer'] = $myurl; $url_text = url_fetch($myurl,$z); $url_text = str_replace('src="','src="http://barnamenevis.org/',$url_text); $url_text = str_replace('href="','href="http://barnamenevis.org/',$url_text); $url_text = str_replace('action="http://barnamenevis.org/Login.php"','action=""',$url_text); echo $url_text; exit; } else { $url_text = @url_fetch($myurl); $url_text = str_replace('<head>','<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />',$url_text); $url_text = str_replace('src="',$myurl,$url_text); $url_text = str_replace('href="',$myurl,$url_text); $url_text = str_replace('action="http://barnamenevis.org/Login.php"','action=""',$url_text); echo $url_text; exit; }?>

eshpilen
دوشنبه 12 اسفند 1392, 09:52 صبح
یعنی دراقع بیاییم صفحه example.com/connect-us را دانلود می کنیم(با سرور) و از این صفحه آدرس کد امنیتی رو یافت کرده و آن را دانلود می کنیم به محض دانلود یک سشن برای ارسال می شود که ما این سشن رو در ذخیره می کنیم. بعد کد امنیتی رو به کاربر نشان می دهیم بعد کاربر کد امنیتی را وارد کرده(بعلاوه فیلد های دیگر) و برای ما میفرستد و ما هم به example.com/connect-us می فرستیم.

درست هست دیگه ؟
بله درسته!

tam2145
دوشنبه 12 اسفند 1392, 10:10 صبح
:گیج:مرسی .... :قلب: