vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   Modification Requests/Questions (Unpaid) (https://vborg.vbsupport.ru/forumdisplay.php?f=112)
-   -   Admin Attachment (https://vborg.vbsupport.ru/showthread.php?t=32691)

snakes1100 05-01-2002 08:51 PM

the affected block code you asked for.

this is from my functions.php, this also has the member must have a certain amount of posts to upload hack in it(in bold).

PHP Code:

 ###################### Start acceptupload #######################
function acceptupload($moderate=0) {
  global 
$DB_site,$attachment,$attachment_size,$attachment_name;
  global 
$attachextensions,$maxattachsize,$bbuserinfo,$maxattachwidth$maxattachheight;
  global 
$safeupload,$tmppath$allowduplicates$allowimgsizefailure;

  
$attachment_name strtolower($attachment_name);
  
$extension=getextension($attachment_name);

  if (
strpos("  $attachextensions  ",$extension ")==0) {
    
// invalid extension
    
eval("standarderror(\"".gettemplate("error_attachbadtype")."\");");
    exit;
  }


  if (
is_uploaded_file($attachment)) {
    if (
$safeupload) {
      
$path "$tmppath/$attachment_name";
      
move_uploaded_file($attachment"$path");
      
$attachment $path;
    }

    
$filesize=filesize($attachment);
    if (
$maxattachsize!=and $filesize>$maxattachsize and $bbuserinfo[usergroupid]!=5) {
      
// too big!
      
eval("standarderror(\"".gettemplate("error_attachtoobig")."\");");
      exit;
    }
    if (
$filesize!=$attachment_size and $bbuserinfo[usergroupid]!=5) {
      
// security error
      
eval("standarderror(\"".gettemplate("error_attacherror")."\");");
      exit;
    }
    if (
strstr($attachment,"..")!="") {
      
//security error
      
eval("standarderror(\"".gettemplate("error_attacherror")."\");");
      exit;
    }
    if (
$bbuserinfo["posts"] < 200) {
      
//No Posting Attachments
      
eval("standarderror(\"You don't have enough posts to post attachments.\");");
      exit;
    }
    if (
$extension=="gif" or $extension=="jpg" or $extension=="jpeg" or $extension=="jpe" or $extension=="png" or $extension=="swf") { // Picture file
      
if ($imginfo=@getimagesize($attachment)) {
        if ((
$maxattachwidth>and $imginfo[0]>$maxattachwidth) or ($maxattachheight>and $imginfo[1]>$maxattachheight)) {
          eval(
"standarderror(\"".gettemplate("error_attachbaddimensions")."\");");
        }
        if (!
$imginfo[2]) {
           eval(
"standarderror(\"".gettemplate("error_avatarnotimage")."\");");
        }
      } elseif (!
$allowimgsizefailure) {
          eval(
"standarderror(\"".gettemplate("error_avatarnotimage")."\");");
      }
    }

    
// read file
    
$filenum fopen($attachment,"rb");
    
$filestuff fread($filenum,$filesize);
    
fclose($filenum);
    
unlink($attachment);
    
$visible iif($moderate,0,1);
    
// add to db
    
if (!$allowduplicates) {
      if (
$result=$DB_site->query_first("SELECT attachmentid
                                         FROM attachment
                                         WHERE userid = '
$bbuserinfo[userid]'
                                           AND filedata = '"
.addslashes($filestuff)."'")) {
         
$threadresult=$DB_site->query_first("SELECT post.threadid as threadid,thread.title as title FROM post
                                             LEFT JOIN thread ON (thread.threadid = post.threadid)
                                             WHERE post.attachmentid=
$result[attachmentid]");
        
$threadresult['title'] = htmlspecialchars($threadresult['title']);
        eval(
"standarderror(\"".gettemplate("error_attachexists")."\");");
        exit;
      }
    }
    
$DB_site->query("INSERT INTO attachment (attachmentid,userid,dateline,filename,filedata,visible) VALUES (NULL,$bbuserinfo[userid],".time().",'".addslashes($attachment_name)."','".addslashes($filestuff)."','$visible')");
    
$attachmentid=$DB_site->insert_id();
  }
  return 
$attachmentid;



snakes1100 05-02-2002 04:21 PM

Anybody?

Chris M 05-02-2002 05:18 PM

Whoa...

Thats alot of php...

I shall sift through it, see if I find anything...

Satan

snakes1100 05-04-2002 10:05 PM

Anybody?

Just need to add an additional usergroup to allow them to bypass the file size limit...

snakes1100 05-19-2002 06:06 PM

help firefly.... :bunny:

eoc_Jason 01-21-2003 01:21 AM

I know this is an old thread, but that guys question never got answered because everyone had a logic error.. lol, I've encountered this before, it's kinda a mind-bender, anyhow, here's the proper line of code:

PHP Code:

if ($maxattachsize!=and $filesize>$maxattachsize and ($bbuserinfo[usergroupid]!=and $bbuserinfo[usergroupid]!=5) { 

It's not OR between the groups, it's AND.. :) Sit down and think about it...

Davey 01-21-2003 07:55 AM

Actually, eoc_Jason; I believe it would be (PLEASE TRY THE TOP ONE FIRST, IF NOT THEN THE SECOND ONE):
PHP Code:

// For admins:
if ($maxattachsize!=and $filesize>$maxattachsize and $bbuserinfo[usergroupid]!=6) {

// For admins/supermods:
if ($maxattachsize!=and $filesize>$maxattachsize and $bbuserinfo[usergroupid]!=or $bbuserinfo[usergroupid]!=5) {

// For admins/supermods/mods:
if ($maxattachsize!=and $filesize>$maxattachsize and $bbuserinfo[usergroupid]!=or $bbuserinfo[usergroupid]!=or $bbuserinfo[usergroupid]!=7) { 

If this is wrong (and this is for the attachment size), then it will probably be the following one:
PHP Code:

// For admins:
if ($maxattachsize!=and $filesize>$maxattachsize and ($bbuserinfo[usergroupid]!=6)) {

// For admins/supermods:
if ($maxattachsize!=and $filesize>$maxattachsize and ($bbuserinfo[usergroupid]!=or $bbuserinfo[usergroupid]!=5)) {

// For admins/supermods/mods:
if ($maxattachsize!=and $filesize>$maxattachsize and ($bbuserinfo[usergroupid]!=or $bbuserinfo[usergroupid]!=or $bbuserinfo[usergroupid]!=7)) { 

Thanks.

Dave.


All times are GMT. The time now is 01:42 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01262 seconds
  • Memory Usage 1,786KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (4)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (7)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete