
{"id":790,"date":"2010-10-04T08:23:41","date_gmt":"2010-10-04T11:23:41","guid":{"rendered":"https:\/\/www.talsoft-security.com\/site\/?p=790"},"modified":"2010-10-04T08:23:58","modified_gmt":"2010-10-04T11:23:58","slug":"iis6asp-file-upload-for-fun-and-profit","status":"publish","type":"post","link":"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/","title":{"rendered":"IIS6\/ASP &#038; file upload for fun and profit"},"content":{"rendered":"<p>por Juan Galiana<\/p>\n<p><strong>Descripci\u00f3n<\/strong><\/p>\n<p>Tratando de saltar la seguridad en el componente de upload de  ficheros de una aplicaci\u00f3n ASP corriendo bajo IIS 6, me d\u00ed cuenta que  IIS s\u00f3lo usa la parte de la URL antes de una \u2018\/\u2019 o \u2018\\\u2019 para determinar  si un fichero ser\u00e1 ejecutado como un Active Server Page por la librer\u00eda  ASP.dll. En concreto, IIS no parsea correctamente los nombres de los  directorios cuando estos tienen extensiones ejecutables como 1) .asp, 2)  .asa y 3) .cer. La extensi\u00f3n .aspx parece ser que no est\u00e1 afectada  devolviendo un error 404, aun cuando el fichero existe en dicho path.<\/p>\n<p>Cuando se parsea una URL tal como \u2018maliciousfolder.asp\/code.pdf\u2019, se  ejecuta una rutina que comprueba si ese fichero debe ser ejecutado por\u00a0  la ASP.dll. El car\u00e1cter \u2018\/\u2019 (o \u2018\\\u2019) rompe la cadena e IIS determina que  ese fichero debe ser ejecutado como un script ASP, pero a la hora de  ejecutarlo, una rutina distinta lee el fichero correcto:  \u2018maliciousfolder.asp\/code.pdf\u2019 y ejecuta el c\u00f3digo contenido en \u00e9l, por  lo que un atacante remoto podr\u00eda ejecutar c\u00f3digo ASP en el servidor web  desde un fichero pdf o cualquier otro tipo de archivo considerado  \u201cseguro\u201d para las aplicaciones de upload de ficheros.<\/p>\n<p>Adem\u00e1s, es posible combinar este ataque con el bug <em>CVE-2009-4444<\/em>,  permitiendo a atacantes remotos crear un directorio con una extensi\u00f3n  ejecutable seguido de un car\u00e1cter \u2018;\u2019 y a continuaci\u00f3n una extensi\u00f3n  considerada segura o cualquier otro sufijo, como se demuestra del uso de  ASP.dll para manejar cadenas del tipo \u201c.asp;.jpg\u201d.<\/p>\n<p><strong>Proof of concept<\/strong><\/p>\n<p>IIS ejecutar\u00e1 el c\u00f3digo ASP contenido en el fichero \u2018document.pdf\u2019 al  acceder a las siguientes URL. Aqu\u00ed se describen algunos ejemplos:<\/p>\n<blockquote><p>http:\/\/host\/path\/folder.asp\/document.pdf<\/p>\n<p>http:\/\/host\/path\/user.cer\/documents\/document.pdf<\/p>\n<p>http:\/\/host\/path\/folder.asa\/other\/path\/document.pdf<\/p>\n<p>http:\/\/host\/path\/folder.asp\\document.pdf<\/p>\n<p>http:\/\/host\/path\/folder.cer\\document.pdf<\/p>\n<p>http:\/\/host\/path\/folder.asa\\document.pdf<\/p><\/blockquote>\n<p>En combinaci\u00f3n con el <em>CVE-2009-4444<\/em> ref #1, la siguiente URL es v\u00e1lida tambi\u00e9n :<\/p>\n<blockquote><p>http:\/\/host\/path\/folder.asp;.jpg\/document.pdf<\/p><\/blockquote>\n<p>En otros casos me he encontrado filtros backlist para el filtrado de  extensiones, pero lo que normalmente se trata de transmitir a los  desarrolladores es que esos filtros no funcionan, siempre hay una manera  de saltarlos, la soluci\u00f3n es usar filtros whitelist y el principio de  seguridad en profundidad.<\/p>\n<p>Por ejemplo, un caso real fue una aplicaci\u00f3n que filtraba las  extensiones \u201cpeligrosas\u201d tales como \u201c.asa\u201d, \u201c.asp\u201d, \u201c.php\u201d, \u201c.jsp\u201d,  \u201c.cer\u201d etc etc, pero utilizaba *s\u00f3lo* los 3 caracteres siguientes  despu\u00e9s del punto para comprobar si la extensi\u00f3n esta permitida o no.  Pues bien, esto se podr\u00eda bypassear usando NTFS Alternate Data Streams  (ADS) gracias al car\u00e1cter \u2018:\u2019\u00a0 despu\u00e9s del nombre de fichero y el stream  \u201c$DATA\u201d, lo que har\u00eda que se creara el fichero \u2018file.asp\u2019 con el c\u00f3digo  que elijamos y lo har\u00eda accesible v\u00eda el servidor web, por lo que,  podr\u00edamos ejecutarlo.<\/p>\n<p>Proof of concept: file.asp::$DATA<\/p>\n<p>Incluso usando filtros whitelist existen maneras de saltar ciertas  protecciones, como la presentada m\u00e1s arriba, o usando otro tipo de  t\u00e9cnicas.<\/p>\n<p>Normalmente los desarrolladores, obtendr\u00e1n los tres \u00faltimos  car\u00e1cteres y comparar\u00e1n con la lista de extensiones seguras (tales como  jpg, gif, png, etc). En este caso, usando ADS y el car\u00e1cter \u2018:\u2019 <em>(CVE-2009-4445 ref. #2)<\/em> podr\u00edamos construir una cadena para el nombre del fichero del tipo  \u201cfilename.asp:.jpg\u201d lo cual har\u00eda que la extensi\u00f3n sea v\u00e1lida, ya que  jpg estar\u00eda en esa lista de extensiones permitidas y podr\u00edamos crear  ficheros vac\u00edos con extensi\u00f3n asp. Combinando esta vulnerabilidad con  otras podr\u00edamos llegar a comprometer el servidor.<\/p>\n<blockquote><p>PoC: file.asp:.jpg -&gt; El fichero file.asp es creado en el DocumentRoot sin contenido.<\/p><\/blockquote>\n<p>Junto a estas, existen otras t\u00e9cnicas para tratar de burlar el  sistema de protecci\u00f3n, pero cada caso hay que estudiarlo por separado.  Los componentes de upload de ficheros en aplicaciones web son uno de los  elementos m\u00e1s delicados y hay que prestarle mucha atenci\u00f3n en todas las  etapas del SDLC.<\/p>\n<p>Si no conoces como funcionan los ADS, echale un ojo a\u00a0 al ref. #3<\/p>\n<p><strong>Impacto<\/strong><\/p>\n<p>El impacto de esta vulnerabilidad es alto debido a que los atacantes  pueden saltar las protecciones ante la gesti\u00f3n de las extensiones de  ficheros en 3rd-party webapps subiendo ficheros con cualquier extensi\u00f3n  (por ej pdf, txt) a una carpeta acabada en una extensi\u00f3n ejecutable (tal  como .asp, .cer, .asa, \u2026).<\/p>\n<p>La librer\u00eda ASP.dll tiene un comportamiento no esperado manejando  este tipo de URLs y podr\u00eda permitir a atcantes remotos ejecutar c\u00f3digo  si el directorio tiene permiso de ejecuci\u00f3n.<\/p>\n<p><strong>Sistemas afectados<\/strong><\/p>\n<p>Probado en Microsoft Windows 2003 SP2 up to date con Internet Information Services (IIS) version 6<br \/>\nNota: un atacante necesita interacturar con una aplicaci\u00f3n la cual debe  tener permisos de escritura para subir ficheros y ejecuci\u00f3n en el  servidor web.<br \/>\nSystemas no afectados: Parece que IIS 5.1 sobre Windows XP SP3 devuelve  un c\u00f3digo 404 cuando se intenta reproducir el PoC, IIS 7.x not tested<\/p>\n<p><strong>La respuesta<\/strong><\/p>\n<p>La respuesta del MSRC fue una frase que a muchos os sonar\u00e1: <em>HOYGAN! This is not a bug, it\u2019s a feature!<\/em><\/p>\n<p><a href=\"http:\/\/blog.48bits.com\/wp-content\/uploads\/2010\/09\/bug-feature.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"bug-feature\" src=\"http:\/\/blog.48bits.com\/wp-content\/uploads\/2010\/09\/bug-feature-300x225.jpg\" alt=\"bug-feature\" width=\"300\" height=\"225\" \/><\/a><\/p>\n<p>De todas maneras, me parece importante publicar la descripci\u00f3n  t\u00e9cnica ya que puede ser \u00fatil en algunos pen-tests\/auditor\u00edas de  seguridad, y de modo similar o m\u00e1s importante para ayudar a los sysadmin  a prevenir este tipo de ataques (la soluci\u00f3n ante este problema se  describe en la \u00faltima secci\u00f3n de este art\u00edculo). Gracias de todos modos  al MSRC y a todos los que participaron de una u otra manera en la  investigaci\u00f3n.<\/p>\n<p>De todos modos, tambi\u00e9n puede ser argumentado (y fue la conclusi\u00f3n  final) que esta vulnerabilidad no es del propio IIS, sino de la  3rd-party webapp, debido a que es su responsabilidad filtrar todo tipo  de car\u00e1cteres malintencionados tanto en los nombres de los ficheros como  en los nombres de las carpetas. Y el hecho es que muchas aplicaciones  web aplican protecciones de seguridad ante los nombres de los ficheros  pero no a los nombres de las carpetas en aquellas apps que trabajan con  directorios. Es en este caso es, precisamente,\u00a0 donde encaja este  estudio.<\/p>\n<p><strong>El porqu\u00e9<\/strong><\/p>\n<p>Ahora voy a explicar los detalles t\u00e9cnicos:<\/p>\n<p>Cuando una nueva petici\u00f3n  llega a IIS, \u00e9ste calcula con que m\u00f3dulo se procesar\u00e1, parseando la URL  de izquierda a derecha y buscando extensiones v\u00e1lidas en cada segmento.<\/p>\n<p>Cuando una extensi\u00f3n es  encontrada, en primer lugar se compara con una lista de extensiones  ejecutables (.exe, .com, .dll e .isa). Si \u00e9sta es .exe o .com IIS pasa  el control a CGI o a ISAPI, en caso de ser .dll o .isa. De la misma  manera, tambi\u00e9n compara dicha extensi\u00f3n contra la lista configurada de  extensiones de script (por defecto esta lista contendr\u00e1: .asp, .cer,  .asa, etc). Si alguna de estas extensiones coincide se pasar\u00e1 el control  al motor de script asociado con la extensi\u00f3n en cuesti\u00f3n.<\/p>\n<p>La cadena que se encuentre despu\u00e9s  de una extensi\u00f3n v\u00e1lida y antes del car\u00e1cter \u2018?\u2019 ser\u00e1 considerado la  variable PATH_INFO seg\u00fan la especificaci\u00f3n CGI, (la cadena despu\u00e9s del  car\u00e1cter \u2018?\u2019 es la query string)<\/p>\n<p>Pero, qu\u00e9 es PATH_INFO?<\/p>\n<p>Como se puede leer en #4:<\/p>\n<blockquote><p>The extra path information, as  given by the client. In other words, scripts can be accessed by their  virtual pathname, followed by extra information at the end of this path.  The extra information is sent as PATH_INFO. This information should be  decoded by the server if it comes from a URL before it is passed to the  CGI script.<\/p><\/blockquote>\n<p>Por lo tanto es la informaci\u00f3n  extra al final del nombre de ruta virtual (donde el nombre de ruta  virtual es la URL). Pero el problema es que ASP maneja de forma no  standard tanto la variable PATH_INFO como la variable PATH_TRANSLATED a  la hora de buscar el fichero de script a ejecutar. ASP asume que la  variable PATH_TRANSLATED contendr\u00e1 el path f\u00edsico completo al fichero de  script.<\/p>\n<p>Para el correcto funcionamiento de  ASP, PATH_INFO debe ser la URL, ya que el mapeo de la URL a un path  f\u00edsico conducir\u00e1 a la p\u00e1gina ASP. Pero, de acuerdo con la especificaci\u00f3n  de CGI 1.3 #ref 4, PATH_INFO no est\u00e1 definido como una URL.<\/p>\n<p>IIS tiene un switch de  configuraci\u00f3n que controla cuando los motores de script ven la URL o la  informaci\u00f3n definida por CGI en la variable del servidor PATH_INFO. Este  switch de configuraci\u00f3n se llama  AllowPathInfoForScriptMappings y  podeis encontrar m\u00e1s informaci\u00f3n en ref #5<\/p>\n<p>Debemos considerar los dos  valores de configuraci\u00f3n posible para la variable  AllowPathInfoForScriptMappings, en ambos casos podemos reproducir el  PoC:<\/p>\n<p><em>AllowPathInfoForScriptMappings=FALSE<\/em> <strong>(Por defecto)<\/strong><\/p>\n<p>En esta situaci\u00f3n la URL ser\u00e1  asignada a la variable PATH_INFO, por lo que la variable PATH_TRANSLATED  contendr\u00e1 el path f\u00edsico completo a la URL.<\/p>\n<p>Pongamos de ejemplo de URL \u201c<a href=\"http:\/\/host\/path\/folder.asp\/file.txt\">http:\/\/host\/path\/folder.asp\/file.txt<\/a>\u201d, veamos como quedar\u00eda:<\/p>\n<ol>\n<li>URL: <a href=\"http:\/\/host\/path\/folder.asp\/file.txt\">http:\/\/host\/path\/folder.asp\/file.txt<\/a><\/li>\n<li><em>PATH_INFO: <\/em>\/path\/folder.asp\/file.txt<\/li>\n<li>PATH_TRANSLATE: c:\\inetpub\\wwwroot\\path\\folder.asp\\file.txt<\/li>\n<\/ol>\n<p>Ya que la extensi\u00f3n encontrada  \u2018.asp\u2019 est\u00e1 asignada para ser procesada por un script, la petici\u00f3n ser\u00e1  gestionada por asp.dll, la cual intentar\u00e1 abrir la ruta final (#3). Si  este fichero existe, ASP lo procesar\u00e1 como un script ASP y enviar\u00e1 la  salida al cliente. Para que el PoC funcione, el fichero \u201cfile.txt\u201d debe  existir en el directorio \u201cfolder.asp\u201d. <em>Este es el caso comentado m\u00e1s arriba.<\/em><\/p>\n<p><em>AllowPathInfoForScriptMappings=TRUE<\/em><\/p>\n<p>En este caso, veamos como queda:<\/p>\n<ol>\n<li>URL: <a href=\"http:\/\/host\/path\/folder.asp\/file.txt\">http:\/\/host\/path\/folder.asp\/file.txt<\/a><\/li>\n<li><em>PATH_INFO: <\/em>\/file.txt<\/li>\n<li>PATH_TRANSLATE: c:\\inetpub\\wwwroot\\file.txt<\/li>\n<\/ol>\n<p>Usando el mismo ejemplo,\u00a0 y  teniendo en cuenta que la extensi\u00f3n encontrada es tambi\u00e9n .asp, la  petici\u00f3n ser\u00e1 gestionada por asp.dll.<\/p>\n<p>ASP abrir\u00e1 el fichero  \u201cc:\\inetpub\\wwwroot\\file.txt\u201d (#3) y lo procesar\u00e1 como un script ASP. En  este caso el sysadmin ha debido cambiar el valor de  AllowPathInfoForScriptMappings manualmente, por lo que considero el  ataque mucho m\u00e1s complicado.<\/p>\n<p>Hay que tener en cuenta que  configurar AllowPathInfoForScriptMappings al valor TRUE, romper\u00e1 el  funcionamiento normal de ASP. Considerando una petici\u00f3n \u201cnormal\u201d de ASP  como \u201c<a href=\"http:\/\/host\/path\/file.asp\">http:\/\/host\/path\/file.asp<\/a>\u201d,  significar\u00eda que la variable PATH_INFO ser\u00eda una cadena vac\u00eda (puesto  que no hay nada despu\u00e9s de la URL) y PATH_TRANSLATED valdr\u00eda  \u201cc:\\inetpub\\wwwroot\\\u201d sin ning\u00fan fichero. Lo que significa que las  peticiones normales de ASP no funcionar\u00edan y es muy poco probable que un  administrador de sistemas quiera servir ASP con esta configuraci\u00f3n.<\/p>\n<p><strong>La soluci\u00f3n<\/strong><\/p>\n<p>La soluci\u00f3n va enfocada a dos roles diferentes:<\/p>\n<p>&#8211; <strong>Sysadmins<\/strong>: <strong>Eliminar el permiso de ejecuci\u00f3n en los directorios donde se permita subir ficheros.<\/strong> Seguir la gu\u00eda de mejores pr\u00e1cticas de seguridad para IIS 6 (Ref #6)<\/p>\n<p>&#8211; <strong>Developers<\/strong>: No confiar en la entrada proporcionada por el usuario y *nunca* usarla como nombre de fichero.<strong> Generar un nombre de fichero aleatorio<\/strong> y almacenar el nombre real en un lugar distinto (por ej, una base de  datos). A ser posible setear la extensi\u00f3n por la propia aplicaci\u00f3n, con  cla\u00fasulas switch-case por ejemplo. S\u00f3lo aceptar cadenas alphanum\u00e9ricas  para la extensi\u00f3n y nombre de fichero.<\/p>\n<p><strong>Referencias<\/strong><\/p>\n<ol>\n<li> CVE-2009-4444 <a href=\"http:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2009-4444\">http:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2009-4444<\/a><\/li>\n<li>CVE-2009-4445 <a href=\"http:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2009-4445\">http:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2009-4445<\/a><\/li>\n<li>Alternate Data Streams (ADS) <a href=\"http:\/\/es.wikipedia.org\/wiki\/Alternate_Data_Streams\">http:\/\/es.wikipedia.org\/wiki\/Alternate_Data_Streams<\/a><\/li>\n<li>CGI 1.3 specification <a href=\"http:\/\/web.bilkent.edu.tr\/WWW\/hoohoo\/cgi\/env.html\">http:\/\/web.bilkent.edu.tr\/WWW\/hoohoo\/cgi\/env.html<\/a><\/li>\n<li>AllowPathInfoForScriptMappings <a href=\"http:\/\/www.microsoft.com\/technet\/prodtechnol\/WindowsServer2003\/Library\/IIS\/b9368427-8c20-42fb-af4e-85c4b7ff3b49.mspx?mfr=true\">http:\/\/www.microsoft.com\/technet\/prodtechnol\/WindowsServer2003\/Library\/IIS\/b9368427-8c20-42fb-af4e-85c4b7ff3b49.mspx?mfr=true<\/a><\/li>\n<li>IIS 6.0 Security Best Practices (IIS 6.0) <a href=\"http:\/\/www.microsoft.com\/technet\/prodtechnol\/WindowsServer2003\/Library\/IIS\/596cdf5a-c852-4b79-b55a-708e5283ced5.mspx?mfr=true\">http:\/\/www.microsoft.com\/technet\/prodtechnol\/WindowsServer2003\/Library\/IIS\/596cdf5a-c852-4b79-b55a-708e5283ced5.mspx?mfr=true<br \/>\n<\/a><\/li>\n<li>File system <a href=\"http:\/\/www.owasp.org\/index.php\/File_System\">http:\/\/www.owasp.org\/index.php\/File_System<\/a><\/li>\n<li>Unrestricted File Upload <a href=\"http:\/\/www.owasp.org\/index.php\/Unrestricted_File_Upload\">http:\/\/www.owasp.org\/index.php\/Unrestricted_File_Upload<\/a><\/li>\n<li>IIS semicolon report <a href=\"http:\/\/soroush.secproject.com\/downloadable\/iis-semicolon-report.pdf\">http:\/\/soroush.secproject.com\/downloadable\/iis-semicolon-report.pdf<\/a><\/li>\n<\/ol>\n<p>Fuente: blog.48bits.com por Juan Galiana<\/p>\n","protected":false},"excerpt":{"rendered":"<p>por Juan Galiana Descripci\u00f3n Tratando de saltar la seguridad en el componente de upload de ficheros de una aplicaci\u00f3n ASP corriendo bajo IIS 6, me d\u00ed cuenta que IIS s\u00f3lo usa la parte de la URL antes de una \u2018\/\u2019 o \u2018\\\u2019 para determinar si un fichero ser\u00e1 ejecutado como un Active Server Page por [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-790","post","type-post","status-publish","format-standard","hentry","category-profesional"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>TalSoft - Seguridad Inform\u00e1tica Empresarial - IIS6\/ASP &amp; file upload for fun and profit<\/title>\n<meta name=\"description\" content=\"Talsoft transforma la visi\u00f3n de las empresas para que puedan proteger su informaci\u00f3n cr\u00edtica y confidencial frente ataques inform\u00e1ticos. Cons\u00faltenos sin cargo.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Leandro Ferrari\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/\"},\"author\":{\"name\":\"Leandro Ferrari\",\"@id\":\"https:\/\/www.talsoft-security.com\/site\/#\/schema\/person\/83d2ebde035a5a030c14e522351953c8\"},\"headline\":\"IIS6\/ASP &#038; file upload for fun and profit\",\"datePublished\":\"2010-10-04T11:23:41+00:00\",\"dateModified\":\"2010-10-04T11:23:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/\"},\"wordCount\":2099,\"publisher\":{\"@id\":\"https:\/\/www.talsoft-security.com\/site\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/blog.48bits.com\/wp-content\/uploads\/2010\/09\/bug-feature-300x225.jpg\",\"articleSection\":[\"Profesional\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/\",\"url\":\"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/\",\"name\":\"TalSoft - Seguridad Inform\u00e1tica Empresarial - IIS6\/ASP & file upload for fun and profit\",\"isPartOf\":{\"@id\":\"https:\/\/www.talsoft-security.com\/site\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/blog.48bits.com\/wp-content\/uploads\/2010\/09\/bug-feature-300x225.jpg\",\"datePublished\":\"2010-10-04T11:23:41+00:00\",\"dateModified\":\"2010-10-04T11:23:58+00:00\",\"description\":\"Talsoft transforma la visi\u00f3n de las empresas para que puedan proteger su informaci\u00f3n cr\u00edtica y confidencial frente ataques inform\u00e1ticos. Cons\u00faltenos sin cargo.\",\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/#primaryimage\",\"url\":\"http:\/\/blog.48bits.com\/wp-content\/uploads\/2010\/09\/bug-feature-300x225.jpg\",\"contentUrl\":\"http:\/\/blog.48bits.com\/wp-content\/uploads\/2010\/09\/bug-feature-300x225.jpg\"},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.talsoft-security.com\/site\/#website\",\"url\":\"https:\/\/www.talsoft-security.com\/site\/\",\"name\":\"TalSoft TS - Services IT Security\",\"description\":\"Talsoft is transforming awareness, control and decision-making power so that companies can protect their critical and confidential information from computer attacks.\",\"publisher\":{\"@id\":\"https:\/\/www.talsoft-security.com\/site\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.talsoft-security.com\/site\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.talsoft-security.com\/site\/#organization\",\"name\":\"Talsoft TS\",\"url\":\"https:\/\/www.talsoft-security.com\/site\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.talsoft-security.com\/site\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.talsoft-security.com\/site\/wp-content\/uploads\/2014\/02\/talsoft_logo_270x125.png\",\"contentUrl\":\"https:\/\/www.talsoft-security.com\/site\/wp-content\/uploads\/2014\/02\/talsoft_logo_270x125.png\",\"width\":270,\"height\":125,\"caption\":\"Talsoft TS\"},\"image\":{\"@id\":\"https:\/\/www.talsoft-security.com\/site\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"http:\/\/www.facebook.com\/talsoftsrl\",\"https:\/\/x.com\/talsoft\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.talsoft-security.com\/site\/#\/schema\/person\/83d2ebde035a5a030c14e522351953c8\",\"name\":\"Leandro Ferrari\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.talsoft-security.com\/site\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/cd259c10675b9fd302b2e6264231febeeeb3de578400cf8c91c6577e50a0d34a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/cd259c10675b9fd302b2e6264231febeeeb3de578400cf8c91c6577e50a0d34a?s=96&d=mm&r=g\",\"caption\":\"Leandro Ferrari\"},\"sameAs\":[\"http:\/\/www.talsoft.com.ar\",\"https:\/\/www.facebook.com\/talsoftsrl\/\",\"https:\/\/x.com\/avatar_leandro\"],\"url\":\"https:\/\/www.talsoft-security.com\/site\/author\/leandro\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"TalSoft - Seguridad Inform\u00e1tica Empresarial - IIS6\/ASP & file upload for fun and profit","description":"Talsoft transforma la visi\u00f3n de las empresas para que puedan proteger su informaci\u00f3n cr\u00edtica y confidencial frente ataques inform\u00e1ticos. Cons\u00faltenos sin cargo.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/","twitter_misc":{"Written by":"Leandro Ferrari","Estimated reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/#article","isPartOf":{"@id":"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/"},"author":{"name":"Leandro Ferrari","@id":"https:\/\/www.talsoft-security.com\/site\/#\/schema\/person\/83d2ebde035a5a030c14e522351953c8"},"headline":"IIS6\/ASP &#038; file upload for fun and profit","datePublished":"2010-10-04T11:23:41+00:00","dateModified":"2010-10-04T11:23:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/"},"wordCount":2099,"publisher":{"@id":"https:\/\/www.talsoft-security.com\/site\/#organization"},"image":{"@id":"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/#primaryimage"},"thumbnailUrl":"http:\/\/blog.48bits.com\/wp-content\/uploads\/2010\/09\/bug-feature-300x225.jpg","articleSection":["Profesional"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/","url":"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/","name":"TalSoft - Seguridad Inform\u00e1tica Empresarial - IIS6\/ASP & file upload for fun and profit","isPartOf":{"@id":"https:\/\/www.talsoft-security.com\/site\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/#primaryimage"},"image":{"@id":"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/#primaryimage"},"thumbnailUrl":"http:\/\/blog.48bits.com\/wp-content\/uploads\/2010\/09\/bug-feature-300x225.jpg","datePublished":"2010-10-04T11:23:41+00:00","dateModified":"2010-10-04T11:23:58+00:00","description":"Talsoft transforma la visi\u00f3n de las empresas para que puedan proteger su informaci\u00f3n cr\u00edtica y confidencial frente ataques inform\u00e1ticos. Cons\u00faltenos sin cargo.","inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.talsoft-security.com\/site\/iis6asp-file-upload-for-fun-and-profit\/#primaryimage","url":"http:\/\/blog.48bits.com\/wp-content\/uploads\/2010\/09\/bug-feature-300x225.jpg","contentUrl":"http:\/\/blog.48bits.com\/wp-content\/uploads\/2010\/09\/bug-feature-300x225.jpg"},{"@type":"WebSite","@id":"https:\/\/www.talsoft-security.com\/site\/#website","url":"https:\/\/www.talsoft-security.com\/site\/","name":"TalSoft TS - Services IT Security","description":"Talsoft is transforming awareness, control and decision-making power so that companies can protect their critical and confidential information from computer attacks.","publisher":{"@id":"https:\/\/www.talsoft-security.com\/site\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.talsoft-security.com\/site\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/www.talsoft-security.com\/site\/#organization","name":"Talsoft TS","url":"https:\/\/www.talsoft-security.com\/site\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.talsoft-security.com\/site\/#\/schema\/logo\/image\/","url":"https:\/\/www.talsoft-security.com\/site\/wp-content\/uploads\/2014\/02\/talsoft_logo_270x125.png","contentUrl":"https:\/\/www.talsoft-security.com\/site\/wp-content\/uploads\/2014\/02\/talsoft_logo_270x125.png","width":270,"height":125,"caption":"Talsoft TS"},"image":{"@id":"https:\/\/www.talsoft-security.com\/site\/#\/schema\/logo\/image\/"},"sameAs":["http:\/\/www.facebook.com\/talsoftsrl","https:\/\/x.com\/talsoft"]},{"@type":"Person","@id":"https:\/\/www.talsoft-security.com\/site\/#\/schema\/person\/83d2ebde035a5a030c14e522351953c8","name":"Leandro Ferrari","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.talsoft-security.com\/site\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/cd259c10675b9fd302b2e6264231febeeeb3de578400cf8c91c6577e50a0d34a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cd259c10675b9fd302b2e6264231febeeeb3de578400cf8c91c6577e50a0d34a?s=96&d=mm&r=g","caption":"Leandro Ferrari"},"sameAs":["http:\/\/www.talsoft.com.ar","https:\/\/www.facebook.com\/talsoftsrl\/","https:\/\/x.com\/avatar_leandro"],"url":"https:\/\/www.talsoft-security.com\/site\/author\/leandro\/"}]}},"_links":{"self":[{"href":"https:\/\/www.talsoft-security.com\/site\/wp-json\/wp\/v2\/posts\/790","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.talsoft-security.com\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.talsoft-security.com\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.talsoft-security.com\/site\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.talsoft-security.com\/site\/wp-json\/wp\/v2\/comments?post=790"}],"version-history":[{"count":2,"href":"https:\/\/www.talsoft-security.com\/site\/wp-json\/wp\/v2\/posts\/790\/revisions"}],"predecessor-version":[{"id":792,"href":"https:\/\/www.talsoft-security.com\/site\/wp-json\/wp\/v2\/posts\/790\/revisions\/792"}],"wp:attachment":[{"href":"https:\/\/www.talsoft-security.com\/site\/wp-json\/wp\/v2\/media?parent=790"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.talsoft-security.com\/site\/wp-json\/wp\/v2\/categories?post=790"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.talsoft-security.com\/site\/wp-json\/wp\/v2\/tags?post=790"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}