توسط این هک ساده، نام اضافی که در اول فایل عکس بعد از آپلود آن اضافه می شود، حذف می گردد.
آموزش هک :
- این هک بسیار سادست و فقط نیاز به ویراش فایل های زیر رو داره:
engine/ajax/upload.php و engine/inc/files.php
مرحله اول : فایل engine/ajax/upload.php را باز کنید.
به دنبال کد زیر بگردید و آن را حذف کنید:
$file_prefix = time() + rand( 1, 100 );
$file_prefix .= "_"; $ file_prefix.= "_" ؛
$file_prefix .= "_"; $ file_prefix.= "_" ؛
در همین فایل به دنبال کد زیر بگردید:
$image_name = totranslit( implode( ".", $img_name_arr ) ) . "." . $type;
و به جای آن کد، کد زیر را قرار دهید:
$image_name = totranslit( implode( ".", $img_name_arr ) );
$file_prefix = '';
$number = '';
while ( file_exists( $config_path_image_upload . $image_name . $number . '.' . $type ) ) {
$number = $number+1;
}
$image_name = $image_name . $number . '.' . $type;
$file_prefix = '';
$number = '';
while ( file_exists( $config_path_image_upload . $image_name . $number . '.' . $type ) ) {
$number = $number+1;
}
$image_name = $image_name . $number . '.' . $type;
مرحله دوم : فایل engine/inc/files.php را باز کنید.
به دنبال کد زیر بگردید:
if( $serverfile == '' ) { if ($ serverfile =='') (
و قبل از آن این کد را قرار بدهید:
$img_name_arr = explode( ".", $image_name );
$type = end( $img_name_arr );
$curr_key = key( $img_name_arr );
unset( $img_name_arr[$curr_key] );
$image_name = implode( ".", $img_name_arr );
$file_prefix = '';
$number = '';
while ( file_exists( ROOT_DIR . "/uploads/files/" . $image_name . $number . '.' . $type ) ) {
$number = $number+1;
}
$image_name = $image_name . $number . '.' . $type;
$type = end( $img_name_arr );
$curr_key = key( $img_name_arr );
unset( $img_name_arr[$curr_key] );
$image_name = implode( ".", $img_name_arr );
$file_prefix = '';
$number = '';
while ( file_exists( ROOT_DIR . "/uploads/files/" . $image_name . $number . '.' . $type ) ) {
$number = $number+1;
}
$image_name = $image_name . $number . '.' . $type;
پایان . هک با موفقیت انجام شد.