Recomendado: Ideas y código de implementación de paginación sin componentes ASP La paginación sin componentes es increíble. Lo sabrá observando el efecto de este artículo. Compartamos con usted la implementación específica a continuación. Los amigos interesados pueden referirse a él.
Título: ASP Eweditor v3.8 Vulnerabilidad del directorio de la columna (otras versiones son pruebas)
Archivo de vulnerabilidad: ASP/BROWSE.ASP
La vulnerabilidad ocurre:
Sub InitParam ()
stype = ucase (trim (request.queryString (type))) sstylename = trim (request.queryString (style)) scusDir = trim (request.queryString (cusDir)) dim i, astyleconfig, bvalidyBvalidyle = falseFor i = 1 to Ubound (Astyle) astyLecOnfig = split (iStyLeTyle, Itsyle = FealsFor i = 1 to Ubound (Astyle) astyLecOnfig = split (i (i (i), i (i (i), i (i (i), i (i (i), i (i (i), i (i (i). |||) if lcase (sStylename) = lcase (astyleconfig (0)) thenbvalidStyle = trueExit forend ifNextif bvalidStyle = false thenseutscript (alerta ('estilo inválido.')) End ifsbaseurl = astyleconfig (19) nallowbrowse = Clng (astyleconfig (43)) ncusDirflag = clng (astyleconfig (61)) Si nallowbrowse <> 1 thenOutscript (alert ('no permita el navegador!')) End si if ncusdirflag <> 1 Thencusdir = elsescusdir = reemplazar (scusdir, /,) end si es ncusdirflag <> 1 thencusdir = elsescusDir = reemplazar (scusdir, /,) en final Izquierda (scusdir, 1) =. O derecho (scusdir, 1) =. O instrer (scusDir, ./)> 0 o instrer (scusDir, /.)> 0 o instrer (scusDir, //)> 0 thenscusdir = elseif right (scusDir, 1) <> /thenscusDir = scusDir & /end ifend ifsuploaddir = asyleConFig (3) Si izquierda (Suploaddir, 1) Thensuploaddir = ../ & suploaddirend ifselect case sbaseurlcase 0sContentPath = astyleconfig (23) caso 1ScontentPath = relativePath2RootPath (suploaddir) case 2sContentPath = roadpath2domaAnpath (relativePath2ROOTPATH (suploaddir) end suploaddir & scusDirScontentPath = scontentPath & scusDirselect styPeCase filesLoWext = case MediaSallowext = rm | mp3 | wav | mid | midi | ra | avi | mpg | mpeg | asf | asx | wma | mov fashsallowext = swfcase elseSaLawext = bmp | jp | jp | png | png | mob | mOm flashsallowext = swfcase elseSaLaWext = bmp | jp | jp | png | png | gart | gortcase SelectsCurrDir = suploaddirsdir = trim (request (dir)) '1. Asumir dir = ../'2. Asumir dir = ... // '3. Suponga que dir = ... /// sdir = reemplazar (sdir,/,/) 'filtro 1sdir = reemplazar (sdir, ../,)' Filtro 2'1. Se filtra aquí sdir = reemplazar (sdir, ./,) 'El filtro 3'2 también está alimentado aquí' 3 está aquí .../. ¡Más interesante! Parece que muchos CM se filtran así. [ /color] if sdir <> thenif checkValidDir (server.mappath (suploaddir & sdir)) = true thenscurrdir = suploaddir & sdir & /elsesdir = end ifend ifend sub sub sub subCompartir: Cómo obtener una dirección IP real de ASP Use request.servervariables (remote_addr) en ASP para obtener la dirección IP del cliente, pero si el cliente usa un servidor proxy para acceder a él, se obtiene la dirección IP del servidor proxy, no la dirección IP del cliente real. Para obtener la dirección IP real del cliente a través del servidor proxy, debe usar request.servervariables (h