Post Attack

alireza_shafaei

New Member
سلام

من میخوام به یک صفحه ی PHP به اصطلاح Post Attack کنم

این صفحه را ببینید:
کد:

کد:
http://ashafaei.110mb.com/testing/files/comment.php
من میخوام یک فایل HTML ای درست کنم که تعداد زیادی Post برای فایل PHP بالا بفرسته
کسی میتونه کمکم کنه؟ میخوام یک متن خاص را بفرسته
خودم هر کاری کردم به نتیجه ای نرسیدم
حالا به کمک شما نیاز دارم
 

hidensoft

Member
سلام
من صفحه رو دیدم. به نظر میاد این یه سیستم ثبت نظرات باشه .
بیشتر توضیح بدید . می خوای چیکار کنی. همین کارو از یه صفحه دیگه انجام بدی ؟
 

alireza_shafaei

New Member
میخوام ثبت نظر را با یک صفحه دیگه انجام بدم (این که کاری نداره کافیه یک سیو از صفحه بگیری و چند تا تغییر کوچیک بدی همین)
ولی فقط اینجا تموم نمیشه
میخوام تعدا زیادی پست برای اون بفرستم یعنی یک پیغام خاص را مثلا 10000 بار بفرستم
و نمیخوام 100000 دکمه سابمیت را فشار بدم!


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

hidensoft

Member
خب باید یه ماژول بنویسی .
یه صفحه دیگه طراحی کن . بعد با متد پست یه آی دی بفرست و یه آرایه که توش پیغام های شما هست. توی ماژول با for each خیلی راحت هر چند تا پیام که داشتی ثبت کن . فکر نمی کنم در اینجا نیازی به curl باشه ولی خب شاید بتونه بهت کمک بیشتری بکنه :wink:
 

jaberphp

Member
به نظر من برای جلوگیری از این بهترین راه استفاده از کد امنیتی هست :D

که این هم آموزشش

سلام دوستان امروزآموزش ساخت کد امنیتی رو برای شما گذاشتم...
قبل از همه باید بدونیم که اصلا چه نیازی هست به این کار ...
ببینید شما یه فرم توی سایتتون دارید مثلا ارتباط با ما حالا یه نفر یه برنامه کوچولو مینویسه و هی فرم شما رو با یه سری مقادیر submit میکنه و یه دفعه میبینید که 9999999999999 میل از فرمتون اومده توی Inbox تون... Shocked

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

کد:
<?
//SecImage.php
session_start();

if( !isset( $_SESSION['SecImageStr']))
 exit();

$Str = $_SESSION['SecImageStr'];

$SecImage = imagecreate( 50, 20);

$BgColor = imagecolorallocate( $SecImage, 255, 150, 220);//Background color
$FrColor = imagecolorallocate( $SecImage, 0, 0, 255);//ForeGround color
$LineColor = imagecolorallocate( $SecImage, 255, 0, 150);//Line color

for($Index = 0; $Index != 3; $Index++)
{
   $LineDegree = rand(15, 50);
   imageline ( $SecImage, $Index, $LineDegree, ($Index+1) * 20, $Index, $LineColor );
}

imagestring ( $SecImage, 4, 5, 1, $Str, $FrColor ) ;  

imagejpeg ( $SecImage , '', 100 ) ; 

header("Content-type: image/jpg");

imagedestroy ( $SecImage ) ;  

?>

خوب حالا جایی که میخوایم استفاده کنیم:

کد:
<?
//test.php
session_start();
// Create Security Code ...

   $SecCode = md5(rand(0,9999));
   $SecCode = strtolower($SecCode);
   $_SESSION['SecImageStr']  = strtoupper(substr($SecCode,0,4));

?>
<img src="SecImage.php">

خوب بعد از این که کد بالا رو توی یه فرم گذاشتیم برای این که چک کنیم ببینیم درسته یا نه بریم توی فایلی که تو Action فرم مینویسیم :

کد:
<?
//check.php
session_start();

$UserSecCode = strtolower($_POST['SecCode']);
$SysSecCopde = strtolower($_SESSION['SecImageStr']);

if($UserSecCode != $SysSecCopde)
{
   die('The Sec Code is invalid!');
}


?>

به همین سادگی ... فقط دقت کنید که این مقاله رو به این خاطر نوشتم که در این زمینه اکثر جاهایی که دیدم امنیتش پایینه و فقط یه کد تولید میکنه و اونو به client ارسال میکنه ولی اینجا ما از session ها استفاه کردیم.
در ضمن برای ایجاد تصویر بایستی کتابخانه GD روی سرور شما نصب و فعال باشه.

موفق و سربلند باشی

منبع : rightclick.ir
 

alireza_shafaei

New Member
خب باید یه ماژول بنویسی .
یه صفحه دیگه طراحی کن . بعد با متد پست یه آی دی بفرست و یه آرایه که توش پیغام های شما هست. توی ماژول با for each خیلی راحت هر چند تا پیام که داشتی ثبت کن . فکر نمی کنم در اینجا نیازی به curl باشه ولی خب شاید بتونه بهت کمک بیشتری بکنه :wink:

از همه ی دوستان متشکرم

من متاسفانه زبان برنامه نویسی تحت وب را بلد نیستم
اگر میشه یک نمونه کوچیک که وقتتون را نگیره و من شرمنده شما نشم برای درست کنید و کدش را بدید!
 

Ray9.net

Member
اينم نمونه

PHP:
foreach( $post as $key => $value){
	echo "POST: $key, YourIdead: $value";
}
اينم نمونه البته بايد شما قبل از هر چيزي به ما بگيد كه اطلاعاتتون كجا ذخيره شده تا بهتون بيشتر كمك كنيم چون بايد اطلاعات را به صورت arrays بگيري!
 

alireza_shafaei

New Member
فکر کنم که سورس این صفحه برای رفع مشکل من مفید باشه

PHP:
<html>
<meta http-equiv="Content-Language" content="fa">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>EjOI Judge System</title>
<style>
	body 		{ font-family: tahoma; font-size: 8pt; margin: 20px auto; width: 300px;}
	h2 { font-weight:bold; font-size:38px; margin-bottom:50px; font-family:monospace; }
	#tmt 		{ border: 2px solid gray; font-family: tahoma; font-size: 8pt; direction: rtl; text-align: right; padding: 2px; }
	#submit 	{ border: 1px solid gray; }
	.date 		{ color: #423; direction: ltr; text-align: left; }
	.sep 		{ width: 300px; margin-top: 20px; padding-bottom: 0px; border-top: 1px dashed gray; }
	.posts 		{ direction: rtl; text-align: right; margin-top: 20px; line-height: 120%; width: 300px; }
	.posts p	{ direction: ltr; text-align: left; }
	a 		{ text-decoration: none; color: #423; }
	#header  	{ color: #423; font-weight: bold; font-size: 24pt; font-family: 'georgia'; padding: 10px 0px; }
	#header a	{ color: #423; }
	#description 	{ letter-spacing: 9px; color: #423; font-size: 9pt; font-family: 'courier new'; padding: 0px 0px 20px;}
</style>
<script lanugage="javascript" type="text/javascript">
	function toggle(x) {
		document.getElementById(x).style.display =
		document.getElementById(x).style.display == 'none'?'block':'none';
	}
	function togcol(x) {
		document.getElementById(x).style.color = 
		document.getElementById(x).style.color == 'white'?'black':'white';
	}
</script>
<body bgcolor=#6587b9><center>
<div id="header"     ><a href="comment.php">صفحه نظرات</a></div>
	<form action="comment.php" method="post">
		<textarea name="tmt" cols="50" rows="10" id="tmt"></textarea><br /><br />
		<input id="submit" type="submit" value="ثبت نظر" />
	</form>
	<br />
<?php	if (strlen($_POST["tmt"]) > 2) {
		$handle = fopen("comment.save", "a+");
		fwrite($handle,  "\t<div class=\"date\">".date('l dS \of F Y h:i:s A')."</div>\n"
				."\t".nl2br($_POST["tmt"])."\n"
				."<br /><div class=\"sep\"></div><br />\n");
		fclose($handle);
		echo "ثبت شد!\n<br /><br />";
	} 
	echo "\t<a href=\"javascript:toggle('posts');\">[نمایش-محو نظرات] </a><br /><br />\n";
	echo "\t<div class=\"posts\" id=\"posts\" style=\"display: none;\">\n";
	if (file_exists("comment.save")) {
		$handle = fopen("comment.save", "r");
		echo stripslashes(fread($handle, filesize("comment.save")));
		fclose($handle);
	}
?>
	</div>
</center></body>
</html>
 

جدیدترین ارسال ها

بالا