Archivos de la categoría PHP

error: RPC failed; result=22, HTTP code = 417 (Symfony y github)

Número de lecturas: 2589
{lang: 'es-419'}

Actualmente me encuentro realizando trabajos con Symfony2 pero esta vez al descargar la última versión aparecio este error al utilizar el comando:

php bin/vendors install

luego no descarga los vendors simplemente muestra este error:

error: RPC failed; result=22, HTTP code = 417

Realmente busque mucho y no daba con el error asi que pregunte aun entendido del tema Javier Eguiluz que me ayudo a identificar el error.

La solución es bastante simple (como generalmente suele ser :) )

Se debe corregir en el script: deps de symfony


[doctrine]
git=https://github.com/doctrine/doctrine2.git
version=2.1.5

En el actual esta asi:


[doctrine]
git=http://github.com/doctrine/doctrine2.git
version=2.1.5

La solucion es aumentar la “S” del protocolo seguro

Espero les sea de utilidad.

What is Symfony2?

Número de lecturas: 2811
{lang: 'es-419'}

Last week, I held a keynote presentation about Symfony2 at the Symfony Day conference in Cologne. Many people asked me for the slides, but they were quite empty and not that useful. This blog post is more or less what I’ve said during the first part of the talk.

What is Symfony2?

When I ask people what Symfony2 is for them, most of them say something along the lines of: Symfony2 is a full-stack web framework written in PHP. Some also add that this is an MVC framework. And some others add that this is a decoupled framework. This is all fine and correct. But my definition is a bit different. Let me tell you what it is and why I think it matters.

Symfony2 is really about two different things.

First, Symfony2 is a reusable set of standalone, decoupled, and cohesive PHP components that solve common web development problems.

Then, based on these components, Symfony2 is also a full-stack web framework.

Depending on your project and depending on your needs, you can either pick and choose some of the Symfony2 components and start your project with them, or you can use the full-stack framework and benefit from the tight integration it provides out of the box. And choosing between the two different approaches is really up to you.

Sigue leyendo

Dennis Ritchie su legado !!

Número de lecturas: 1378
{lang: 'es-419'}

En el sitio web genbetadev.com existe un excelente análisis de todo el trabajo de este genio que murió en día 12 de Octubre.

Aquí les dejo la noticia:

Voy a continuar con la serie sobre personalidades relacionadas con el desarrollo de software hablando de uno de los pesos pesados del mundo. Le debemos tanto que no se por donde empezar. Seguramente no le haré nada de justicia y muchos datos serán altamente imprecisos, espero que me perdone. Hoy voy a hablar sobre Dennis Ritchie, creador de C y de UNIX.

Dennis MacAlistair Ritchie nació el 9 de Septiembre de 1941 en Bronxville una pequeña villa de unos dos mil habitantes situada a unos 25 kilómetros al norte de Manhattan, New York. Se graduó en 1963 en la Universidad de Harvard con honores en física. Recibió un Doctorado de Investigación en 1968 matemáticas aplicadas. Ingresó en el Centro de Investigación para Ciencias de la Computación de los Laboratorios Bell de la AT&T en 1967 siguiendo los pasos de su padre, Alistair E. Ritchie quien tenia una larga carrera allí.

 

En 1968 ingresó en el equipo de desarrollo del sistema operativo Multics (Multiplexed Information andComputing Service) donde trabajó junto a multitud de leyendas de la programación y la arquitectura de sistemas como Fernando J.Corbató o Peter James Denning. Aunque si Dennis Ritchie es famoso por algo es por ser el creador del lenguaje de programación C.

 

El desarrollo de UNIX y la necesidad de C

No existe duda alguna de que C es el lenguaje de programación más popular y famoso de todos los tiempos. C es un lenguaje de programación imperativa para implementación de sistemas. Aunque al ser tan popular también se ha desarrollado infinidad de aplicaciones con él. C presenta facilidades para laprogramación estructurada, permite ámbito léxico variable y recursión, además esta fuertementeorientado a tipos con un sistema estático que impide operaciones no deseadas.

Como ya he apuntado anteriormente, Ritchie entró en el grupo de desarrollo de Multics en 1968, para entonces, los Bell Labs ya estaban bastante frustrados por los serios problemas que presentaba Multics y poco a poco fueron desplazando el proyecto. Los últimos investigadores en abandonar el proyecto, decidieron reescribir todo el trabajo desde cero y a menor escala. Entre esos investigadores se encontraban Dennis Ritchie y Ken Thompson —al que dedicaremos unas líneas en el futuro—.

Ritchie estaba convencido en crear un sistema operativo sobre el cual pudiera desarrollarse una comunidad ya que creía fervientemente en la computación comunal en la que era necesaria la comunicación estrecha entre personas a través de accesos remotos.

Como Ken Thompson aún tenía acceso al entorno de Multics, escribió un simulador para el nuevo sistema de ficheros y de paginación en él. También programó el famoso juego Space Travel, pero el juego requería de una máquina más eficiente y barata sobre la que ejecutarse, así primero fue portado aFORTRAN en un sistema GECOS y finalmente fue portado por Dennis Ritchie y Ken Thompson al lenguaje ensamblador de una máquina PDP-7.

Fue en ese proceso de portar el código de FORTRAN a lenguaje ensamblador del PDP-7 cuando Thompson y Ritchie escribieron el código subyacente que finalmente se convirtió en el sistema operativo originario de UNIX. Junto a Rudd Canaday desarrollaron un sistema de ficheros jerárquico, los conceptos de proceso de ejecución y de archivos de dispositivo, un intérprete de línea de comandos y algunas aplicaciones y utilerías. Muchos consideran a Space Travel como la primera aplicación del sistema UNIX.

En 1970 el equipo de desarrollo liderado por Dennis Ritchie y Ken Thompson necesitaban migrar el sistema a una plataforma más potente y pusieron su vista en la PDP-11/20. Y el manual del programador de UNIX salió a la luz el 3 de Noviembre de 1971. En 1972 y contra toda razón, UNIX fue portado al lenguaje de programación C de forma contraria a la idea general de la época de que “algo tan complejo como un sistema operativo, que debía tratar con eventos en tiempos críticos, debía estar escrito completamente en lenguaje ensamblador”.

Sin embargo el portar el código fuente de UNIX a un lenguaje de más alto nivel como C, derivó en un código mucho más portable que requería de cambios mínimos en su código cuando se portaba UNIX a otra plataforma cosa que parecía que iba a ser cada vez más común. La incapacidad del lenguaje de programación B para usar las ventajas de la máquina PDP-11, especialmente del direccionamiento de byte llevó a Ritchie a desarrollar la primera versión de C.

La primera versión del UNIX para PDP-11 fue completamente escrito en lenguaje ensamblador, pero cuando las primigenias versiones de C ya soportaban los tipos de estructura, la mayor parte del núcleo de UNIX fue portada a C. El núcleo de UNIX se convirtió así en uno de los primeros núcleo de sistemas operativos escrito en algo diferente a lenguaje ensamblador junto a Multics y MPC.

K&R C

En 1978, Brian Kernighan —al que también dedicaremos algunas líneas más adelante— y Dennis Ritchie publicaron la primera edición de El lenguaje de programación C. El libro pronto se empezó a conocer en la comunidad como K&R C o C de Kernighan y Ritchie y fue usado durante muchos años como una especificación informal del lenguaje antes de la aparición del ANSI C.

 

El C de Kernighan y Ritchie tenía algunas peculiaridades , como la de que las funciones que no devolvían un tipo de valor diferente a un entero, no tenían por qué ser definidos previamente con un prototipo. Así por ejemplo esta sintaxis era válida en K&R C pero no en ANSI C:

main() { ... }

 

 

En 1983, Ritchie y Ken Thompson recibieron conjuntamente el Premio Turing por el desarrollo de la teoría genérica de sistemas operativos y específicamente por la implementación del sistema operativoUNIX. Ritchie nombró a su conferencia en la entrega del Premio Turing como “Reflexiones sobre la Investigación del Software”.

 

Ritchie fue elegido miembro de la Academia Nacional de Ingeniería en 1988 por el desarrollo del lenguaje de programación C y por el desarrollo conjunto del sistema operativo UNIX. En 1990, tanto Ritchie como Thompson recibieron la medalla IEEE Richard W.Hamming del Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) por “originar el sistema operativo UNIX y el lenguaje de programación C”

El 21 de Abril de 1999 Ritchie y Thompson recibieron conjuntamente la Medalla Nacional de Tecnología de 1998 de manos del presidente Bill Clinton por la invención conjunta del sistema operativoUNIX y el lenguaje de programación C que en conjunto han dado lugar a enormes avances en el hardware, el software, redes de sistemas y ha estimulado el crecimiento de una industria por completo, mejorando así el liderazgo estadounidense en la era de la información. Estos yankees es que son muy suyos.

Este mismo año, Ritchie y Thompson han sido galardonados con el Premio Japón de Información y Comunicación por el trabajo pionero en el desarrollo del sistema operativo Unix.

 

Vida después de UNIX y C

 

En 1990 Ritchie fue nombrado jefe del Departamento de investigación de Software en el Centro de Investigación de los Laboratorios Bell en Murray Hill, New Jersey. En 1996 fue nombrado director de desarrollo para la creación del sistema operativo Plan 9 sucesor de Unix en Bell —del que también hablaremos algún día :)—. En 1996 comienza a dirigir los esfuerzos para la creación del sistema operativo Inferno, sistema operativo distribuido que corre encima de otro sistema operativo a través de una máquina virtual.

 

 

El sistema operativo Plan 9 se basa en un Kernel híbrido y no en uno Monolítico como el de Unix.

 

 

Sobre Dennis Ritchie

 

Si no fuera por Dennis Ritchie y por Ken Thompson, UNIX jamás hubiera existido, tampoco hubiera existido por tanto BSD, o Solaris o Minix y mucho menos Linux, tampoco existiría Mac OS X. Y si no fuera especialmente por Dennis Ritchie, no existiría C, no existirían muchos conceptos que en su díarompieron esquemas a través de su innovadora visión y se convirtieron en al ABC de la teoría de los sistemas operativos por lo que sería complicado que hubieran existido hoy sistemas como Windows, PlayStation, o PCs. Sin C otros muchos lenguajes que se basaron o inspiraron en C tampoco existirían hoy y por nombrar solo unos pocos:

  • C++
  • C#
  • Objective-C
  • D
  • Java
  • JavaScript
  • Limbo
  • Perl
  • PHP

 

Y por supuesto, tampoco existiría ninguno de los lenguajes basados en los pocos de la lista anterior. Si existe alguien a quien haya que agradecerle especialmente su trabajo y dedicación, no cabe duda de que ese es Dennis Ritchie.

Fuente:

genbetadev.com

HideMyPHPShell, ofuscador de código PHP

Número de lecturas: 2073
{lang: 'es-419'}
Son ya muy conocidas las clásicas shells escritas en PHP, que comúnmente se utilizan para aprovechar vulnerabilidades del tipo Arbitrary File Upload.
También pueden ser utilizadas para administrar ciertos aspectos en caso de que sólamente tengamos acceso vía web a nuestro servidor.
Es muy común que cuando un atacante consigue subir una shell a un servidor para comprometerlo, ofusque el código fuente de la misma para hacerla más difícil de detectar. De hecho, muchas de estas shells que se han encontrado “in the wild”, cuentan con algún tipo de ofuscación.
La herramienta HideMyPHPShell, que os presentamos hoy, permite ofuscar código PHP de cualquier tipo, de una manera rápida, y con varios métodos diferentes.

HideMyPHPShell help
./hidemyphpshell.py method_number php_file
1 eval() base64
2 eval() gzip + base64

En su primera versión soporta ofuscación mediante Base64, o mediante compresión gzip con un grado de compresión aleatorio. La idea es, en un futuro, incluir más métodos, incluso utilizando algoritmos de cifrado más avanzados, aunque la clave esté en el propio fichero y se utilice en la rutina de descifrado.
Podemos ver un ejemplo de uso con PHPShell.
Si la descargamos y vemos el código fuente, es demasiado ruidoso:

$ head phpshell.php
<?php // -*- coding: utf-8 -*-

define(‘PHPSHELL_VERSION’, ’2.2′);
/*

**************************************************************
*                     PHP Shell                              *
**************************************************************

PHP Shell is an interactive PHP script that will execute any command

En cambio, si la pasamos por el programa:

./hidemyphpshell.py 2 phpshell.php
Obfuscating phpshell.php with method 2 …
Done, dumped to phpshell.php.obfuscated.php

cat phpshell.php.obfuscated.php
<?php eval(gzuncompress(base64_decode(“eF7lXO1z20Zz/2zP+H84oaxJ2nyR7HSaSiL9KLL8WK0seyS5mYzscCAQFBGBAAOAovUkz//e3+7eHQ4gKTlOpv1QxxOTwN3e3t6+7x5fDfdfzadz1e+r7rOuCtJxlFzvqkUx6X5PT548fvJ4HE6iJGw1P7z9cP726ORk9N9HZ+fH70+bHdV80XvRbO89edx/RiOVevan/jAEte4P…

Además, al utilizar el segundo método compresión gzip, el tamaño del fichero PHP ha sido reducido de 20 KB a 9.1 KB.
Ya podéis descargar HideMyPHPShell (hidemyphpshell.py) desde el repositorio oficial de SbD.

Fuente:

securitybydefault.com