[-] Seguridad Web [-]
[-] By: Painboy [-]
Security website - By: Painboy
[-]- - - - - - - - - - - - - - - - - - [-][1] Introduccion
[2] ¿Como nos atacan?
[3] Htaccess & Php.ini
[3.1] ¿Para que sirven?
[3.2] Htaccess
[3.2.1] Introduccion Htaccess
[3.2.2] Codigos utiles de Htaccess
[3.3] Php.ini
[4] Evitar ataques
[4.1] XSS
[4.2] Sql injection
[4.3] Rfi
[4.4] Lfi
[4.5] dos
[5] Despedida
[-] - - - - - - - - - - - - - - - - - - [-][1]
Introduccion:Buenas creo esto manual porque veo demasiados servidores webs sin la seguridad necesaria.
Pues este manual se para mejorar o intentar mejorar la seguridad web en la red.
Tratare de explicar lo mejor posible los pasos que daremos.
[-] - - - - - - - - - - - - - - - - - - [-][2]
¿Como nos atacan?:Como nos atacan un apartado muy importante bueno hay varios,muchas formas de ataque
Algunas podremos evitar otras no.
Daremos aqui algunos ejemplos de conque cosas suelen atacar nuestro website:
-XSS (Cross site scripting)
-Sql injection
-Blind Sql injection (Injeccion a ciegas)
-dos (Ataques SYN respuestas)
-Reverse ip
y muchas mas que hay pero esto es lo que en este manual intentaremos evitar que se produzca.
Pero recuerda algo para poder evitar la mayoria de esto deberas aprender a programar o a leer
el manual detenidamente y aprenderlo.
[-] - - - - - - - - - - - - - - - - - - [-][3.1]
Para que sirven (Htaccess y Php.ini):Estos 2 archivos muy apreciados por los webmaster vienen a configurar el servidor web con multitud
de funciones.Estos 2 archivos son muy utiles para la seguridad de nuestro website
[3.2]
Htaccess:Es un archivo de configuracion de el servidor web se le da ordenes para realizarse como restricciones
y demas. ahora nos adentraremos un poquito mas en htaccess.
[3.2.1] Intruduccion a Htaccess:
htaccess como eh dicho anteriormente es un archivo de texto que apache usa para dar ordenes
al servidor y trabajarlas. para crear el archivo .htaccess has lo siguiente:
[1]: Habre el Bloc de notas
[2]: Pincha en > Archivo > Guardar como
[3]: Pon de nombre " .htaccess "
[4]: Selecciona en tipo "Todos los archivos"
[5]: Aceptar o Guardar
Perfecto tendras creado el archivo .htaccess pero todavia no esta subido asi que simplemente subelo
a tu hosting ponlo en la carpeta que desees que trabaje
(Por ahora no hay nada no hay codigos)y perfecto tendras ya subido el archivo .Htaccess para que trabaje cuando le metas codigos.
[3.2.2] Codigos utiles de Htaccess:
Buenas aqui te enseñare algunos codigos muy utiles para evitar tonterias de los lammers o algunos
que quieren joder tu web o simplemente para mejorar tu website.
Permitir acceso desde una IP unicaBuenas pues al lugar donde se hubica el sitio donde subiste el .htaccess con el siguiente codigo
Solo se le permitira la entrada si accede desde una ip (la que desees) para eso en nuestro archivo
.htaccess lo colocamos:
deny from all
allow from (Direccion IP)
Personalizar extensiones .html,.php y demas!Alguna vez has querido por ejemplo crear un archivo index.shit y que se lo tome como si fuese
un archivo php pero que la extension sea .shit bueno pues hay un codigo en htacess para modificar
las extensiones lo explicamos este es el codigo:
AddType application/x-httpd-php .extension
lo que haria ese codigo seria tratar los archivos con la extension ".extension" como si fuesen .php !
Ahora probemos haber si podemos tratar un archivo de extension ".painboy" como si fuese .html:
AddType application/x-httpd-html .painboy
y seria tratado como archivo html pero con la extension .painboy!
Personalizar pagina error:
Te suena verdad el tipico error 404 este error se muestra cuando no se encuentra el archivo en el
Servidor y no lo puede localizar pues si te molesta este error simplemente debes añadirle unas
2 lineas a tu .htaccess:
RewriteEngine On
ErrorDocument 404: Paginaadondellevasisecometeerror
Ok de este codigo puedes modificar varias cosas.
1: Puedes cambiar el error a otro error ya que hay varios como el 505 y demas..
Si quieres evitar el error 505 simplemente has lo siguiente coloca lo siguiente en tu archivo
.htaccess
RewriteEngine On
ErrorDocument 505: archivoaredireccionarsisedaelerror505
Desabilitar el Acceso a una carpetaPara desabilitar a la gente el acceso a una carpeta pues nada mas debes introducir el siguiente
Codigo en tu archivo .htaccess y luego subir el .htaccess dentro de la carpeta que deseas no permitir
acceder. el codigo es el siguiente:
#deny all access
deny from all
y con eso nadie podria acceder al contenido de archivos de esa carpeta.
Personalizar pagina error:
Te suena verdad el tipico error 404 este error se muestra cuando no se encuentra el archivo en el
Servidor y no lo puede localizar pues si te molesta este error simplemente debes añadirle unas
2 lineas a tu .htaccess:
RewriteEngine On
ErrorDocument 404: Paginaadondellevasisecometeerror
Ok de este codigo puedes modificar varias cosas.
1: Puedes cambiar el error a otro error ya que hay varios como el 505 y demas..
Si quieres evitar el error 505 simplemente has lo siguiente coloca lo siguiente en tu archivo
.htaccess
RewriteEngine On
ErrorDocument NºDELARCHIVOERROR: PGINAAREDIRECCIONSIOCURREESEERROR
Bueno pues ya saben evitar errores de este tipo.por ejemplo hagan lo siguiente:
Vallan a la siguiente url: You are not allowed to view links.
Register or
Loginy veran que mostrara algo que dice error.html eso es porque ahi tendria que dar error 404 pero
Que ocurrio pues que tenia que redireccionar al archivo error.html pero el archivo error.html no lo
eh creado asi que no se redirecciona.
Evitar Hot linkHot link es cuando por ejemplo publicamos una img , video en algun servidorweb que no es el nuestro
Pero ese archivo esta subido en nuestro hosting pues ahi gastaria nuestra banda de ancha seria como
Un robo de banda ancha! pues con el siguiente codigo evitaremos que nos roben la Banda Ancha:
1. RewriteCond %{HTTP_REFERER} !^$
2. RewriteCond %{HTTP_REFERER} !^http://websitetuya.com$ [NC]
3. RewriteCond %{HTTP_REFERER} !^http://websitetuya/.*$ [NC]
4. RewriteCond %{HTTP_REFERER} !^http://websitetuya$ [NC]
5. RewriteCond %{HTTP_REFERER} !^http://websitetuya/.*$ [NC]
6. RewriteRule .*\.(fla|gif|jpg|jpeg|png|bmp)$ - [F,NC,L]
Aqui lo que debes hacer es modificar websitetuya por tu website y ya.
Asi con esto lograremos evitar que consuman nuestra banda ancha con este codigo evitamos
Que los archivos (Fla,gif,jpg,jpeg,png,bmp) sean mostrados en otros sitios que no sean nuestro
servidor web claro.
Evitar mostrar modulos de apache y versionEste codigo sirve para no mostrar ese error
Ya que ese error puede dar informacion importante si nos quieren atacar asi que lo evitaremos
Colocando el siguiente codigo en nuestro archivo .htaccess:
ServerSignature Off
Query_stringEs muy importante configurar bien esto asi evitaremos varias cosas como
Sql injections,XSS y demas.
Para configurar bien colocaremos el siguiente codigo en nuestro archivo .htaccess:
RewriteCond %{QUERY_STRING} ^.*(;|<|>|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00).*(/\*|union|select|insert|cast|set|declare|drop|update|md5|benchmark).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(localhost|loopback|127\.0\.0\.1).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*\.[A-Za-z0-9].* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC]
Evitar el Robo(Hurto) de cookiesPues recuerdan que se podia robar cookies con una tecnica llamada xss pues eso se acabo
Con el siguiente codigo colocalo en tu .htaccess si quieres evitar que por culpa de una variable
mal programada te roben cookies a tu usuarios:
RewriteCond %{HTTP_COOKIE} PHPSESSID=([^;]+) [NC]
RewriteRule ^(.*)$ - [env=sessid:%1]
Header set Set-Cookie "PHPSESSID=%{sessid}e; path=/; HttpOnly" env=sessid
Evitando Rfi / LfiBuenas pues con el siguiente codigo evitaremos que por ejemplo con el siguiente codigo en php
voy poner una variable vulnerable a rfi:
<?php
echo $var;
?>
Ok lo explotariamos eso haci You are not allowed to view links.
Register or
Loginy si muestra loquequieras significa que register_globals esta en on. pues para evitar esto pondremos
lo siguiente en nuestro archivo .htaccess
php_flag register_globals off
y con eso estariamos evitando incluir archivos,palabras y demas en cualquier variable de archivos php.
Protegiendo carpetas con contraseñaBien para mi esto es muy importante si quieres privacidad en tus carpetas que te muestre un login
para meter el usuario y contraseña.
Bien pues añadiremos las siguientes lineas al archivo .htaccess:
AuthUserFile /rutacompleta/hacia/.htpasswd
AuthName AquiPuedesPonerLoQueQuieras
AuthType Basic
require user NOMBREUSUARIO
lo que hace eso seria buscar la ruta de el archivo .htpasswd luego mostrar "Entas entrando en
Aquipuedesponerloquequieras" luego definir que es un login basico el normal y luego
decir el unico usuario que puede acceder (Para añadir mas usuario require user nombre1 nombre2)
En el archivo .htpasswd la sintaxis es la siguiente:
NOMBREUSUARIO:CONTRASEÑA
Ejemplo:
painboy:4sxbu06GwVhd2
Bueno la contraseña que se da como puedes ver debe estar encriptada en una variacion del algoritmo
MD5 Realizada por el apache.
Bueno pues para crear el archivo htpasswd y que te de la contraseña ya encriptada y todo listo
para subir abre la consola MS-DOS y escribe lo siguiente:
htpasswd -cb .htpasswd USUARIO CONTRASEÑA
y te lo guardara en un archivo .htpasswd listo para subir al hosting y usarlo.
y con eso ya tendras tu login de proteccion de carpetas y siempre cuando intentes acceder a la
Carpeta donde se encuentra ese htaccess te pedire usuario y password y si los pones bien te da
Accesso.
[-] - - - - - - - - - - - - - - - - - - - - - - - - -[-][3.3]
Php.ini:Ultimamente el php se ah visto muy usado en servidores web es tan comun ver archivos php que
es necesario un archivo para configurar sus funciones y demas
a este archivo se le llama "php ini" a diferencia de el .htaccess el .htaccess engloba todo sobre
Configuracion del servidor web encambio el php ini solo trabaja sobre los archivos php
[3.3.2] Introduccion a Php.ini:
Php.ini es un archivo de configuracion de archivos php al cual se le puede desactivar,activar funciones
y demas asi que aprenderemos un poco a usarlas por ahora quiero que hagas los siguientes pasos
para crear el archivo Php.ini:
[1] Abres bloc de notas
[2] Pulsas >Archivo > Guardar como
[3] Pones de nombre "Php.ini"
[4] En tipo pones: "Todos los archivos" (vendra por defecto .txt !cambialo!)
y haci abras creado el archivo Php.ini bueno ahora subelo a tu hosting y ya tendras el archivo Php.ini
en tu servidor.
Ahora empezemos a ver instrucciones utiles de Php.ini.