A compelling demonstration of how chaining minor misconfigurations can lead to total system compromise. It effectively exposes the inherent fragility of blacklist-based security in modern web architectures.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
Delta Obscura Meetup - #1Added:
I'm just uh trying to see if the recording works. And uh I'm going to wait until 400 p.m. It's not yet 400 p.m. So I have to wait, let's see, 10 minutes at least.
So until then, I'll just be adjusting everything, ensure everything is okay.
So I think now my screen is being shared as well and it's recording. So I assume that both my uh my camera and my screen is being recorded.
[snorts] It's uh my first time using Google Meet for this sort of stuff. So, I'm still learning the ropes.
We are 3 minutes until we get started.
I'm not sure how many people will join, but since the meeting is going to be recorded, well, oh, my microphone is right here.
Since the meeting is going to be recorded, um I don't think a lot of people need to join for this video to be beneficial.
Oops. What happened?
So, I'm going to get started now. And I'm not sure if the people will be able to join or do I need to give them permission to join because sometimes I think that's the case with some platforms where you have to give permission and people wouldn't be able to join without it.
So the purpose of this video is going through several um issues such as uh let me just um show this to you.
We have meetings and I think we also have a calendar over here.
Let me find it.
I think I've gone blind. I don't see my calendar here. Oh, right. It's here.
So, where did you go? Okay, there we go.
So this video is about CV hunting escalating a variety of XSS and HTML injection to achieve RCE remote execution and more. So the techniques we are going to discuss is going to be state changing get requests, state changing post requests, converting gate to post. Oh actually it's uh post to get my bad converting post request to get request. Filling forms and mimicking user clicks. Stealing other cookie values other than just document cookie.
Triggering post request with HTML forms.
Exploring image iframe and SVG payloads.
chaining multiple requests to achieve RC and uh this the credit goes to Muhammad Tahan or Marshall, one of our members of Delta Buscura.
So this video is presented to you by Delta Viscura. We have uh cyber security meetups every month.
So you can get involved by going to meetup.cscyber.ca.
You can join our Discord server or watch our YouTube channel. Let me see someone has joined.
Hey, welcome guys.
And the three vulnerabilities, the three CVS that I'll be going through in this video is this CVE that was found by me and Han Marshall. So this is CV 2025 11027.
And this is basically a chain of vulnerabilities, a chain of excess plus CSRF that leads to rce. So this is um quite clever vulnerability by Han Marshall and it's the one I'm going to demonstrate first and then later I will demonstrate um the vulnerability on Frappy. I'm just going to call this Frappy. I'm not sure if it's called FRAP or FRAP. I'm just going to call Frappy LMS. So, Frappy is a framework. It's written in Python, but they also have a LMS. It's a vast ecosystem of different software. They have ERP, they have LMS, they have I think accounting software, they have all sorts of things. And uh we identify several vulnerabilities on their platform. And this is the vulnerability that I'm going to showcase to you where I'll be escalating a variety of uh simple excesses to mimic user collects and create a back door account which gives me administrator access.
The other one is CS sort of uh vulnerabilities on instance CMS and this one is where you will learn how to convert post to get request. how um HTML injection or basically using I frame or image tags can be useful to you uh by you know um escal escalating so variety of these vulnerabilities from something like alert one to something that matters.
So um I think I have explained everything and now it's time to jump on the vulnerabilities. So these are the things that we will be discussing and these are the targets that I'll be showcasing. I'll be showcasing one CV from every target and that will basically cover everything that's written in here and then more.
So I've already set up these applications. If you want I could possibly share the setup code though it's not something private because uh the version of web that is vulnerable the first software that we are going to test is called VV web and the version of it that is vulnerable is 1.0.7.2.
So you can basically get that from GitHub and install it and you're good.
You can test the same vulnerabilities as we do and learn. But okay, >> now um that I've already installed it, I don't need to reinstall it again and I'm already logged in as administrator. But to test this vulnerability, we will be creating another backend user, another admin user through which we can upload an image or create a product. So basically I'm going to create users and I think the the vulnerability details tell us which uh which of these people can upload something and vendor can create and manage products and I think he can also upload a picture which is bas basically a picture for a product. So we are going to see this and I'm going to show this from the perspective of someone who is new. For example, if you're watching this for the first time and you're trying to learn CV and thing, you probably probably don't know or probably get confused by this whole interface. And I want you to think u from a developer perspective.
Um if you have developed any type of web applications in your life you probably understand that all web applications are about crude or create update delete and read operations. So basically there's nothing special here because look at this you have delete option you have a data option you have API tokens but you also have create option this is create you have delete create read update delete that's basically crude or cr U it's a very famous type of operation literally every web application or most applications on the planet have these operations so let's not waste some let's not waste time and just edate this. This is the vendor account. This is the vendor's username. And uh let me see.
I think they added this bio thing. Not sure if it was here before or maybe it's in this version and not in the version that I usually get with Docker. So, I'm going to click active for this. And for the password, I'm just going to set it to something that works.
And also, I wanted to show you this. So this is how I keep track of things that I hack or pentest. I use obsidian in this format so that you can get an idea.
I use hack for the process of hacking something. I use install for the process of tracking how the installation went, how to reinstall it, what are the credentials and all sorts of things. So let me go right here. We have web and this is the password and we are going to reuse the password because it doesn't matter it's a containerized installation reusing the password here means nothing.
Let me see.
All right. So, so far there's only one person there.
Okay. The admin panel is admin.
This is vendor password login.
And from here we have access to products. We can go to products. we can create a new product and basically the featured media. This is where we can upload um SVG image. So there are numerous types of images. There is JPG images, PNG images. Um there's G, JP, EG, SVG, WEBP.
All these type of things are images.
So uh SVG is a type of image that can contain XML code inside it and also it can contain HTML uh JavaScript handlers or event handlers like onload on click these sort of things so that if you click on a um SVG payload it gets executed. If a SVG payload loads on the page that you're going to visit, it's going to trigger um JavaScript code that's going to execute malicious code on this on the target. So, I'm just going to create test and I think I need to turn on the proxy because it's not on right now.
What if I just minimize that? Okay, it works.
So we have 8080 but I think 8080 is used by another software. So I'm just going to turn this to 7070.
Then I'm going to go to suit go to proxy proxy settings and I'm going to change the IP in here from 80 uh the port from 8080 to 7070.
That's it.
So let me see. Okay, it works. It can capture everything and that's okayish.
So, uh we are here and the exploit basically tells us what type of SVG payload to upload and it tells it also tells us exactly how to upload it.
For example, this is the bypass that Han Marshall came with came up with. Uh so basically you can upload the SVG payload with SVG with a trailing forward slash.
The reason that he used this bypass is because we had reported I reported a similar vulnerability to this where I was was able to upload monitors SVG file and it was executed on the server which led to admin to cover. So we have the forward slash um as a way of uh bypassing the security protection that's in place. And basically this helps us to upload SVG files. But the files that we upload are not going to have the SVG extension. It's not going to end with SVG. So I'm just going to show this to you.
Let me see message here.
Hey, welcome.
>> Hey man, how how you doing?
>> How are you?
>> Yeah. Okay, thanks. Sorry, I got the GMT, Pardon me, um GMT time wrong on the um group, which I think is probably why a few people haven't joined yet. Um, oh, I think we both put the time wrong and then I told everyone that it was confirmed it was nine today. Oh, and then I saw on the calendar it was like event started. I was like, what?
>> It's all good. I'm sure people join.
>> Oh, okay. There was one person, but I think they left.
>> Okay. Uh, oh, yeah, yeah, yeah. Oh, yeah. That's Were you presenting to yourself, Hammy?
Uh, well, basically this is recorded, so it doesn't really matter.
>> Oh, sorry. I'm ruining I'm ruining the recording here.
>> Uh, yeah, >> that's cool.
>> Everything is recorded, so don't say anything illegal.
>> I don't do anything legal. I'm I'm above all.
>> Okay. Okay.
>> Apart from the drugs that I sell sometimes. What?
All right.
So, as I was saying, I'll be um basically showcasing the the CPE that Marshall found and I uh where he used the trailing forward slash after SVG name to basically bypass the protection that was in place for SVG payloads. Uh let me do this.
>> So, was it was it a blacklist for SVG then? Yeah, it was a blacklist.
>> Crazy.
>> Let me see.
>> That's a good That's a good lesson for developers to to to use whitelists, not blacklists, because there's always going to be ones you forget.
>> Oh, yeah. Our own website was also vulnerable. So, [laughter] yeah, I finally >> Yeah, I finally did implement um a type of white list on the top of Scura. So now we only accept certain type of extensions.
That's awesome.
>> Is it client side validation or does it send it to the server and then check and then come back?
>> Uh I think ours is both.
>> Very good. Hi impressed.
It's still worth some testing because I'm not really sure if uh we are really secure. So feel free to hack us.
>> In fact, anyone who that is interested, there's a there's a bug bounty, isn't there? Or in a hall of fame on Delta.
>> Uh definitely we pay $20, which is nothing, but it's still something.
>> $20 more than you had before.
>> Yeah.
So, let me see.
I'm just going to reproduce this a little because I think the way that Marshall did it was different than the way I I plan to do it.
So basically he created multiple servers because um the goal was to first create an admin account then he used the admin account to download a malicious plugin then he uploaded the plugin then he activated it. Well basically that's how he got a shell.
So that's basically what we are going to be doing.
I'm going to create this And I think the test plugin was deleted, but we can replace it with any other type of plugin and it will work just fine.
What else do we need to do?
Okay, we need to turn on the core server. First thing first, I mean, can you possibly um can you zoom in at all on on your screen or not?
>> Uh, let me see. I think I can zoom in the terminal.
>> Yeah, definitely. Yeah.
Yeah.
>> Yeah, that would be good. And maybe if anything you're running with Python or not.
>> Let me see. I think I can zoom in the viewer or the Let me see.
>> Yeah, that's good.
>> Yeah. Zoom in. Control shift plus.
>> Okay. Control.
How about this?
>> Nice. Can you see everything now?
>> Looks great. Yeah.
>> Okay. And the browser. I think I need to do this.
>> That's good. I know. I know. I I get it though because um when you have a wide screen, you can have the smaller resolution, but on it's harder to see on screen, I think.
>> Oh, yeah. Yeah. Good point, man. Because every time people complain that they can't see anything on my screen.
>> Yeah. Is it I assume you got a wide screen, right? Big big screen.
>> Oh, yeah. That's the course of a 4K screen, I guess.
>> Oh, 4K. Oh, now we're at >> Okay, let me see if we need any uh modules. Nothing. Okay, so everything works.
So, this is running. We need netcat on port 20,000 8,000. Yeah.
>> Okay. Net cap within the docker container. You're on >> Yeah.
>> Well, let's 6,0001. And then I'm going to just change the source code for the whole thing. [snorts] >> Yes.
So there's this running.
What else do we need to do?
Hey, how are you doing?
Hey bro.
Nice.
>> So, we're just setting up the demo. Um, for a vulnerability that I think one of the other members found. Is that right, Hammy? This is yours or or Marshall's and other members? It's um it's a collaborative find, but the >> the part where he where Marshall just put everything together to achieve access to RCE, that was his idea.
>> Awesome.
>> So, we have course we have one listener for callback beacon. This is not entirely necessary but it just it's just used for confirming that our admin account is created. The other is for test plugin.zip.
It has to be inside.
And I think um somewhere here is our code. So this is all the code that we need. And I need to edit this.
So this this code is the SVG code, is it that you planted on the app?
>> Yeah, this is the one.
>> Okay, very good. Oh jeez. Yeah, proper proper fetch request.
No.
>> So let me see. Where's 48,000?
Oh, >> what a what a crazy exercise.
>> Yeah, it's definitely a lot.
Yeah, it's a lot of code. I'm trying not to even understand what it's doing. So, it's creating an admin account, right?
Account takeover exercise.
>> I can basically if I get a sec, I could just um ask, you know, um what's the name of that thing? Groc for some help.
But I don't think we will need that for now.
Yeah. Yeah. No, you got it. You got it.
So basically we just uh need a mal uh one of the plugins so that we can download it and then modify it. I think I have one here. Let me see what's so vet is the application.
>> Yep.
Are you uh uh this one's not bad? Not that one.
Hey, that's good. Now you can uh now you can take over the the I know it's it's on VW's GitHub domain. Never mind. I thought you could take over the GitHub domain and find Now you found a vulnerability live, but yeah.
>> Oh, yeah. I get what you're saying, but I can't do that. Let me see. Let me see if this guy has this test plugin somewhere in here because that's really what Marshall use. I don't know if what I'm going to use is going to work or not.
>> Okay. Yeah.
>> If it doesn't work, it doesn't work.
>> Should have got Marshall in. Can't tell us which plugin where you got the plugin.
You message me on Discord.
Um, where is it? All right.
Oh, I'm getting lost on my own computer.
This complex. Okay.
>> Easily done. Easily done.
>> So, basically we just um extract this thing over here. Then we go inside the plugin. I think not inside it.
Wait, where? Which part that Marshall did inside it?
>> Um, so this the test plugin.
Yeah, it's the same place. So basically we're going to plug in the PHP and we are going to create this little payload somewhere. Let me see what's the best place to add this. I think after the admin menu >> that would be the best place to add it.
It's I mean I can't believe he created all this like like like like such a complex SVG or excss payload.
>> Uh well I didn't create the SVG payload that's all thanks to Marshall.
>> Yeah but even understanding it is difficult. So >> yeah yeah yeah like what well it's obviously what Marshall I mean I'm impressed that he he made it all >> oh how you doing man feel free to unmute if you want if you're on nice here um yeah just setting up Look at how many networks I have here.
>> Editing on this video now skip the bit when you were setting up all the model. Oh, hey me.
Nice.
Let me see. Uh is everything okay here?
[snorts] So we have port 6,000 for 601 for the reverse shell. We have that.
We have course which runs on port 1 2 3 4. We have 444 which is for reverse shell I guess and I think everything is modified now. So we can just package the whole thing.
>> See how it works.
AR. So this is so it's from a student to an admin is the is the attack, right?
>> Basically it's um XSS payload inside SVG that if an admin visits it, the browser basically sends a full request.
>> Yeah. Yeah, >> the server with the cookies and everything >> and well we get admin back door account gets created and then the back door account is automatically used to get shell.
>> Yeah. Insane. So this is like um that's quite that's quite an so so it's almost just like a fancier proof of concept to like a staged payload to stop stop you having to log in manually. You just get a shell. Yeah, instead of >> Yeah, thanks. Instead of Yes. All thanks to Marshall. And then instead of just, you know, doing this all manually, it will be very difficult because you have to chain multiple things together. It's a lot of headache.
>> Yeah.
>> Instead of doing all that, you just do this. So, let me see how much of this thing is going to work because I'm not really sure. I didn't do this um preemptively partially because I wanted to see how I would do it under a scrutiny or pressure because this is going to look like a real world pentest.
>> Yeah, that's cool.
>> So, we need to remove replace this this plugin.
Bit of pressure is fine.
file manager.
>> Yeah, it's a very this is a very it's a cool vulnerability. It's taking something quite b quite sort of I don't know standard and packaging it into something quite exciting. Um and I guess and I guess the next question is is the um the SVG which triggers the JavaScript which which makes the admin account is that doing it via an API call?
Um it's it's calling multiple post requests. One of them is this one >> for >> Oh, it's localized.
>> Yeah.
>> And then there's the other is plugin upload plugin >> include. Yeah. And then it's saying okay. So it's including Yeah.
>> So it must be API. Yeah. It must be an API request then.
Yep. So the report URL is something where the report of the entire payload is going to be sent. Port 60001 is where the reversal is at which is basically a plugin.php.
It connects to port 601 and port 1234 is where the core server is located at. So basically let me just map this 444 right here. The report file server 1 2 3 4 1 2 3 4 is on the same. This is the core server that serves the file >> and it serves the file manager.zip file.
[snorts] >> Very cool.
>> Let me see if it's going to work or is it going to pain me a bit? No.
Good luck. If it works first time, I will I will go mental. I will I don't know, send you a tenner. There's just no chance. These things never work first time.
>> Yeah. Let's see. Um >> where's where's the type? I think there's a certain content type here.
>> I'm just going to copy paste this. I'm lazy.
It's fun.
>> Uh, bingo.
Oh, 4034 by then. [laughter] >> Okay, let's see what happened here.
>> Yeah, >> permission denied.
>> Did you have to put Oh, you put the forward slash after SVG. Are you sure it's not patched, Tammy? Is this >> um No, it's not the patch version. We just need to have upload uh upload permissions and we don't have that. So I need to get that um >> you need to >> uh so it's a student profile that's being given upload permissions. Correct.
>> Uh yeah. So I'm just going to get a new payload for this. I'm going to temporarily Oh yeah, temporarily um cancel screen sharing because I need to go fetch the payload for this. It's going to be a little different.
>> Okay, >> let me see what's happening.
Stop figuring.
Yeah. Okay, I'll be back. Just need to get the payload, right? Yeah, fine.
All good.
Um, this is a good moment to grab a cup of tea [laughter] to drink in your country of choice. All we drink here is tea, of course. I've got my got my mug here. A nice little L gray. Thanks for asking. [laughter] My favorite goose mug. Check that one out.
>> Oh, yeah. That looks cool.
>> For the boys.
The boys. When I left my uh last work, they they for my leaving gift, they gave me >> brilliant.
Not like I was there six years. You smug anyone? I'll take it.
>> Well, it was a free cup. I think it's expensive and they [laughter] one cup more than I had before.
Can't complain.
this webcam man's dodge dodge.
So, here's the big news though. My my workplace now, I told them that I don't have a monitor, external monitor. It's just the small talk that I'm making while you sort your problem. And um and they sent me this 34 inch monitor today.
Your your face is like lifesize, Hammy.
And that's only a quarter of the screen.
Unbelievable.
Can't make this up.
Let's see. I think I got the real payload. The one that doesn't need all the jumping through hoops like a monkey.
But let's see.
Uhhuh. I think my payload the diff the only difference between my payload and uh Marshall's payload is that mine doesn't have all those requirements. But let's see.
Um, why are we using um Google Meet Hammy? It's my next question. Why not the Discord chat?
>> Um, the quality of recording on that is very low. That's >> recording. Yeah, I imagine it would be >> actually I couldn't find it. The payload that I found it was the same as this one. So, we are going to suffer through this for now.
>> Um, by the way, I think there's something about permissions.
Actually, yeah. Um, I need to find the permission thing. Wait, >> that's fine. The reason that I need to pause and I can't show the screen is because I'm using something like this for one of my CDF challenges that I've contributed to an event. So I cannot really show everything >> like the fund for those while you're selling your commissions.
>> Yeah, they need to suffer through the hard way of doing the CTF otherwise they won't learn anything. So I'll be back. All right.
So basically we need to give this user the permission to upload files and I think we do that by modifying roles.
So basically we go here we manage the roles we manage the role of vendor and we give it permission to create files. Wait what happened media media upload.
Yep. I think now we have everything in order. So, we should be able to upload files. Let's see. Oops. Not not again.
See again.
for them. Okay, maybe I need to log out and login again.
Oopsie.
Oh yeah, now the file is uploaded. So we do have uh file upload permissions. And I'm going to just select this test test. Save it. And [snorts] now I'm going to here just delete this because we don't need it.
create another product. I'll test with SL test. And in here, I'm going to select an image that I'm going to intercept and then change the type of the image.
Uh crap.
Okay, we got it.
Or we can just copy this beautiful thing and send it from here. Oh, it didn't work. So I think we need to send this to repeater. Drop it. Drop is basically our way of dropping the request. It's not going to be sent anywhere. So can we zoom that in at all?
The Buite window or make it slightly bigger.
>> Oh Jesus. Uh sorry. What did you say?
>> Can we make the Burpuite um window slightly bigger or so?
>> Let me see.
So, damn it. Come on.
>> A lot of Yeah, I'll try, but I'm not sure if it will work.
Yeah, now files do get uploaded.
And um size of birth suit. I'm not really sure if I can do that. Let me see. We don't have anything like size in here, >> but don't worry about it. All right. All right. So, we have our beautiful payload over here.
This was successfully uploaded. So, let me try to upload this payload and everything is fine. I I guess I'm not sure.
It really doesn't matter. SVG.
What was the type? image just plus XML, right?
Send. Yep.
Think file type not allowed. Success false file. Okay.
I'm not sure if I'm working with the patch version or the unpatched version at this point.
I'll try.
Did um did he did you need to change the mine type or something?
>> Yeah, I did change that properly, but I'm not sure what's happening.
>> What's on the right?
>> SVG plus XML. Yeah, we do have that file names. SVG forward slash. We have that as well. [snorts] And it says file type not allowed. But I think the version of web that I have installed is the correct one. Just not sure why this not working.
Where's the picture of the Burpuite payload on his write up? Maybe that will look different.
>> Um, let me see. Let me just send it to you.
>> Oh, sorry. I could see it on your on your screen there. It was four left at the end. Yeah, strange. Have a look at this.
If it doesn't work, I'm just going to move on to the next type of payload.
>> Yeah.
>> Um, we have had several problems with this uh version of web. I installed it on Docker and on Docker this payload wouldn't work. So, I listened to Marshall and I installed it without Docker. But still it doesn't work. I'm not sure if I'm using the correct version or something else is going on.
>> Um yeah, form data name files.
Did you have the form data with the name files um as well on the purpose?
>> Yeah. Well, the version of uh web is the wrong one. It should be 1.0.7.2, but it's 1.0.8. So, >> you're on the path.
>> Yeah, that's a problem. I'm on the latest version instead of being on the current version.
>> So, so what you're what you're now looking for is a bypass for the for the fix.
>> Oh, no. I can't bypass that right now, but I'm trying to get the vulnerable version. I thought I didn't install it.
It just doesn't install. I guess >> I wonder if client side it shows what the blacklist is now. Maybe we can add a null bite at the end or or preempt it before and then bypass the patch and then you can get a new CV live on stream.
>> Let me see.
>> That's how the pros do it. This guy >> not allowed. Why? Why did this uh print this error twice? Let me see.
>> Good question. Great question.
Watch this. Watch this.
>> Yeah, I see the null bite is doing something super weird.
>> Yeah.
>> Oh my gosh. [laughter] >> Am I going to get my next CV now?
>> Yes, for real, man. There's something there's something doing there's something weird happening.
>> Yeah. Let me see. So, we are looking for SVG blacklist bypass.
>> Yeah. Well, there's load. Well, are they still using a blacklist?
>> Uh, I think Gonz developer is using a blacklist, but I'm not sure. I could probably look into the code and see the fixes that he made to our perviews vulnerabilities to see what type of fixes he implemented and then >> we'll look at it.
>> Yeah. Great. Yeah. And then once you find that like what the code change is, then we can um we can start if if it's still a blacklist. Honestly, if it's a blacklist, there's going to be a bypass.
I'm just saying that right now. If it's a white list, it's going to be more complicated, but it's not impossible.
You can still bypass whitel list with with null bytes and stuff like this, but I mean, uh, it will be more complicated, but it's certainly not impossible. Oh, yeah. Look, there he is. Added media upload type check by mime type to avoid by mime type. Now, >> they're doing it by mime type now. Do you see that? Something like that.
>> Yeah. Yeah, let me see.
>> Now you need to add a mime header that makes it believe that it's a JPEG and then we bypass.
>> Okay, so upload deny mime. It denies SVG plus XML application JavaScript.
>> Yeah.
>> Okay, let me let me just grab the whole thing. Grab the whole mess.
>> The potential's real, man. Potential's real. Yeah, you should you should get the actual code block and then chuck it into AI and say what im what what um image types can we use to bypass this white list something like that or something like that.
This is uh escalated heavily from a demo into live hacking. [laughter] >> Yeah, that's what happens when I can't find my payload, I guess. Imagine.
Oh, >> for the demo. I needed to rehack it for the demo. [laughter] >> Let me see.
>> It doesn't get cooler than that.
>> Yeah, >> find that little piece of the code and just and ask for mine. Yeah, mine by passes.
>> And well, besides this whole thing, besides this whole clot thing, I could just use clot code. I have the advanced version of this thing for this set to max. So we have this thing set to highest level possible.
>> Yeah.
>> And we have the model. We can switch it to oppus.
>> Beautiful.
>> The highest one. The highest price model. Module.
>> Rip your token count, bro. But >> one million context. But thinking on >> and all good [ __ ] And now we are just going to give it the location of the upload.
So where's the location? It's admin controller. No, it's admin controller media. Let me see. Admin. No, admin controller.
>> So just to be clear, the reason that we have access to all this is because it's open source.
>> Yeah, of course. We don't steal the source code. Just so if anyone's wondering how does this how does it work if it's an open source app you can just start feeding some of the some of the code into AI and give you ideas if you've already got ideas in your head >> yeah basically you could basically copy paste this whole path and you can tell AI go find me functionalities or vulnerabilities and it will find it for you but you have to be smart about it you can't just say okay go find vulnerabilities you have to say go find me all the end points that are in this application and I want to understand what functionalities are there that will be helpful.
>> Absolutely. Yeah, you need understanding of what you're potentially looking for, but um very very interesting to see if there is um I mean yeah, white lists, man. I mean, no, what are they using blacklists?
>> Um let's just see what happens. I'm not really sure.
If nothing happens, I guess I will fail publicly, which is one of my greatest habits, failing in the public.
>> It's good. It's good. Good fear to get past.
>> Yeah. Sharp.
You This is a a C live CVE right here.
This is what >> me, myself, and Muhammad are going to take a 20% cut. Um, just so you know, because we were here on the call, you know, just feel uh >> [laughter] >> I feel like we should have signed an NDA NDA now. Uh, okay. In the chat right now, you Muhammad, you have to just just put like just write just write agreed if you agree not to disclose this publicly or or weaponize it on the dark web.
Hammy, I've I've signed my agreement.
Uh, I don't think this is that much of a big issue, but fine.
>> Mohamad's also agreed now. So, [laughter] it's all above board.
All right, let's go.
>> All right, let's see.
>> This is really cool. Really cool.
>> The bypass.
>> Oh, yeah. There's a clear vulnerability >> include SVG, but the rename forms no extension validation at all. attack up this extension. Oh, call the rename end.
Call the rename endpoint. There's an endpoint you can call to up to to change the file type once it's already stored.
>> Wait, what is saying? New file call the rename endpoint. Wait, >> are we actually able to call the rename endpoint? I mean, we must be able to, right? So, it's saying upload an image.
Is that correct?
There must be there must be an end point.
Yeah, this is a this is interesting.
Wow. What a crazy bypass if this works.
If this works, if this isn't an AI hallucination, you can actually call back a post request. So, upload a PNG with an SVG content. rename it to a uh rename it to SVG via this end endpoint which may or may not exist. Uh and then if it does then we have then we can run we can run it as if it never was a problem. That would be interesting. In fact that would be a very interesting CV. Yeah.
>> Mhm. Let me see.
>> Yeah. Let's see.
>> You're right to push back. Okay.
>> Yeah. They just craft an HT request directly. Post admin, model media, model. There's a rename. There's a rename endpoint that you can call by post.
>> What? What? Where's that? Let me see.
>> It says it. Look, an attacker doesn't need a UN bus and they just craft a they just craft a HTT request directly because there's a there's an endpoint.
>> What? And it's a post endpoint, Hammy, so you won't see it.
>> Okay, >> let's try it. Let's try that endpoint.
uh ask you to give you a B pay.
>> Uh >> or a curl. Yeah. Either >> uh let me just copy paste this thing to it.
>> That'd be so cool, man.
So, you need to upload a normal file already. You already have actually you got to No, you need to upload a normal PNG with the SVG content.
This is a This is cool, man. [laughter] >> Let's see if it works. Pray for me.
>> Yeah. So So it's going to be two post requests then. First you need to upload a PNG and then >> rename.
>> Yeah. So just in fact in fact Hammy just you can do it manually the um just upload the an SVG with a with a PNG in Burps in in the UI and then ask it for the rename post request that makes sense.
>> Um I think the post request is not available.
>> I'm not sure.
>> No you can do that via the upload Hammy.
Uh >> you can just upload it with in the UI just upload an SVG file called.png and then then we pull do a real post request to rename it.
>> Ah hey I'm just going to copy paste this thing. Let me see if it works.
>> This one is easy. The path of least resistance.
>> Yeah but they haven't included a post.
They haven't included um content for for a cookie um XSS SVG in in the uh description of what it said. It just says you need to put a real SVG.
Um but you need to give it an endpoint for it to send it to, right? You know what I mean?
>> Uh let me see, man. [laughter] Let me see what it does.
>> Sorry. jump ahead.
>> Okay.
>> So, we create this one. Uhhuh.
>> This is cool, man. This is really cool.
Awesome. Prayers and the file. So, that one uh evil.png is created. We have that.
>> Yeah, it looks good. That looks right. I was just going to pop a an XSS box, but that's a good proof of concept.
>> This is cool, man.
This is cool.
>> What element saved? Template backup was saved. Does it work?
>> Well, what did what did you post? What did you post, bro?
What on earth did you post in here?
What? Uh, >> it says permission denied. So, >> no, you can just do it via the UI instead. Just upload a upload a file.
>> Wait. Um, >> you know what I mean?
>> Yeah, I know what you're saying. I know what you're saying. But this, uh, I think this is another functionality that needs to be given to the role explicitly.
>> So, when you >> Yeah, while you went outside, basically, I had to give vendor the permission to upload files and I just forgotten that.
So let me see if we need to give the permission anywhere in here. Do we need to give edit permission?
>> We might need to re we might need to re-record this video. H [laughter] >> yeah, this is messed up now.
>> Oh yeah, it's cool though.
>> Oh yeah, >> [ __ ] love that smile. People People will probably watch this later and wonder what did we do.
>> We lost the plot.
>> It's a great CV coming soon. [laughter] >> I mean it's great. It's a it's a nice little part really. The upload functionality.
>> Oh yeah. This is the name functionality.
So basically we need to provide this rename functionality in there then save it.
>> Then we need to >> yeah we need to get the hell out of that other session. We need to log out >> log in and get a new session cookie and with that cookie we will be able to do our magic.
So, here we are. Um, >> bro, this is epic.
I can't believe.
>> This should never work, by the way. This shouldn't work.
>> Yeah, this shouldn't work. But let's see.
Have you already uploaded the file?
>> Uh, which file?
Evil.png?
>> Yeah. Is it already in the uh b?
>> Uh, no. It's not uploaded.
Uhhuh. Let me say.
Okay. If it works, I'm going to lose my mind. Bingo. Not sure. Shut. What happened?
Okay. Permission denied. It doesn't work. So, >> why don't you just just do it in the UI?
Try it and do it in the UI because you know you know that you got upload permission, >> you know.
>> Yeah.
>> Working. You might as well just do it manually, right?
>> Yeah, I'm going to do it manually, but there's no UI for uh changing, you know, the file name. You can just click on it, but there's no place to modify.
>> Oh, no, the evil one. The one that you actually want to upload, the one that you created. There's an upload.
>> No, it's not uploaded.
>> Yeah, but just do it in the UI then with the upload button top right.
>> Okay. Yeah. You mean upload? Um, but here's the thing. If I upload evil.png, right?
>> Yeah.
>> I cannot rename it. Like, how do I rename it?
>> Well, that post request that you're looking at that you're trying to do there is the upload request. That request is the upload. So, there's no point trying to do that when you can just do it in the UI. So, I would just upload the evil.png, which you already made, in the UI of Veb, and then and then we can mess around with the post requests when it comes to the rename.
>> Okay.
So the first goal is uploading evil as Yeah, I think I understand this now.
>> Which you already made. I think you already saved it locally. Am I right?
>> Yeah, I did that.
>> Cool.
>> Yeah, so I did that. I can just uh browse to it.
>> And where did I save that thing by the way?
>> I don't know. [laughter] >> I don't remember where I saved it.
>> Okay, let me see. I think it's here. And so I test the scripts.
>> Oh, test scripts. Yeah.
>> Yeah, it's Yeah. key.png. It's right here.
>> Okie dokie. Let me see. Let me see. Let me see.
>> We don't need to do anything. I guess Docker containers.
>> Um, can you enlist a beginner to infoset? Yo guys, I see you're both doing fantastic job and I'm glad I assisted this representation. Can you please enlist a beginner to infosc 70% procs path? Oh, brilliant. That's awesome. Now to get my feet into research in the session.
>> File type not allowed. What the hell?
>> Oh, for PNG.
>> Yeah.
>> Ah.
Really? PNG?
But you've already uploaded PGs in the past. Oh, try JPG. Uh, I think it's the type. Let me see. Let me try this once again. I think it's the type. It just identifies the type of it.
>> Yeah, because of the because of the header, the mine header inside the actual payload.
>> Yeah, probably something like that.
>> Let let me send you Let me send you Hammy the um Let me send you the piece of code that you can put into the top of the header which will make it think that it's a JPG, but it's not.
>> Oh, yeah. the magic bites.
>> Yeah, that's it. It's probably doing it by magic bite, right?
>> Probably. Let's see.
>> Why not allowed?
>> Do you want me to give you send you the magic bites?
>> Yeah, sure, man.
>> All right.
Okay.
To trigger alerts.
Um, >> so this worked, but this doesn't. So we can't upload this. Oh, we can upload it.
So it did work.
>> You did it. You >> evil.png was uploaded. I'm just going to rename it to evil one.png.
>> Nice, bro. How did we do it?
>> I just added a space between them. So it worked.
>> Oh, really?
>> Okay. Okay.
Is it going to work?
>> Um, >> yeah. Nice, bro.
>> Okay. The image just go, so it doesn't show.
>> Oh, sure.
>> It's trying to render it, isn't it?
Trying to render it.
>> Yeah, it's trying to render it, but it's not PNG content, so it doesn't get rendered at all.
>> But that's that doesn't matter because if we can rename it to SVG, then we've embedded it, right?
Yeah, if you convert it, it doesn't matter. And if we can look, if we can convert PNG to SVG, we can convert PNG to PHP and get a shell.
>> Okay. Actually, Hammy, if you've been given rename permissions, then can you literally rename it in the UI? You technically been given rename permissions, right? Can't we right click and just rename instead of trying to do this crazy UI like?
>> Yeah, I can't. I can't right click, bro.
Look, look.
>> But right now, you're trying to upload it. But instead of doing that, could you just go could you go to like wherever the media is saved inside the UI and then just literally just rename? Yeah, >> I have it.
>> There you go. Can you change the No way.
SVG.
>> Uh, we cannot change it in here now.
>> Edit image and then will >> it doesn't work. Oh, but you've been given permission. I don't know why it wouldn't let you.
Maybe we need to call that. Maybe we need to do the post request instead.
>> Yeah, I think the whole thing is just at and from has so we can see it.
>> Yeah, >> let me see.
>> If Claude if Claude's post request is actually real, then this then it could work. But we need to we need to rename re um change the file name.
um to whatever it is.
>> And it needs to be for slash, isn't it?
Evil PNG.
>> Um no, that's for a different payload.
This is for the one that he Let me see. Oh, >> the one that's already in there.
43 for doesn't work despite the fact that there is uh permissions for this it doesn't work anyway.
So we have what where's the roles roles are here we are the vendor role and we do have media media rename permissions >> media media rename is that the endpoint you're calling >> uh this is basically the admin panel where I >> yeah that post request you made is that inside media >> yeah I think so yes media media rename and action equals I wonder if you need to include and action. Maybe it's just rename. You know what I mean? Like the post the upload request you did didn't say action equals upload. It just said forward/upload, didn't it? If you go on number six on repeater might be wrong.
>> Um, yeah, but you're kind of right. But look at this.
>> It is action. It is action. My bad.
>> Yeah. So action has to be the name of this thing. So >> I can't believe it. And then it says admin equals 1. Cookie blah blah admin equals one. Does it your say admin? Damn it. I can't believe it didn't work. Why is it working? You should put the um response that you got back and into Claude and say what the hell.
>> Yeah, [clears throat] probably.
>> I'm so sad about that.
>> Yeah, me too. I'm going to tell Claude how sad I am.
>> Yeah. And say say it upset me as well, actually for the record. And Muhammad's sad as well. Tell everyone sad. Make it feel bad.
Ah, I can't believe it. I think we're close. Hammy, there's light at the end of the tunnel.
>> Yeah, there's definitely a light somewhere.
This is going to be this is going to be Oh, look at this. This is comprehensive information we're sending to Paul.
>> Yeah.
Right. I'm going to answer Muhammad's question while you're um are you in fact first I'll ask you Hammy. Are you going to use this video or are you going to do another one?
>> It's a bit messy this video.
>> Uh well, I think we are going to do another video but fine. Okay, fine. I I'll answer uh question then. Oh, hold on. What?
>> It says adding CSRF to the body.
>> Invalid CSRF.
Oh, there we go. It's included a CSRF token now supposedly. Now you can put that in the payload.
>> What?
Ah, because it rotated per request.
>> So, where do I get the CSRF token from?
How does it know what's which CSRF token I should use? Let me ask this. from the page source. The token is Yeah, it's like >> Oh, really? Got it.
>> It thinks it got it from the page source.
>> Oh, yeah. It's right right here. Damn it. I can't see it.
>> Yeah. Let me just If we can get a CV on this, it's going to be unreal.
>> Denied again.
Shame.
>> Well, I think this video is messed up.
[laughter] Grab a fresh CSR opt. Oh my gosh. You can do a get request to grab a fresh CSR uptake. No, really.
>> Really? Let me see.
>> Let me see.
>> Cannot be real, man. This cannot be real. I think it's lying.
>> We'll see.
>> This doesn't look right. Look at this request. It's not even work. But yeah, you can try.
>> This is hilarious. Did you send it? Hold on.
>> Yeah, I sent it. But wait, you didn't do a space bar because you didn't do a space. That happens to me sometime >> the space.
>> Yeah, do enter. Yeah, enough of it.
>> Okay, >> it gave permission error again. So, >> why is it working? The rename endpoint.
No, it was such a good idea.
>> Okay, I'm going to answer that question now. Right, so he said, "Yo, guys, doing a fantastic job on system representation."
Bro, can you can you please enlighten Let's be honest, bro. It's all cool. Can you please enlighten the beginner to infosct 70% just how I get my be to research at the end? I'll do it now if you if that's all right. I'll have it in your hand. Let me know if you're um let me let me know if you're here still.
>> The curve token is right here. The curve token doesn't change. That doesn't work.
So, >> oh, it doesn't change as well.
You just write one big me. Um, >> yeah, >> yeah, >> that's that's easy.
I'm just going to bingo login like this and uh >> Oh, I'll just do a fake one. See if it generates a CSR app. Oops.
>> Yeah, it has to get everything on its own. I don't have time for this.
Is it got a CSRF? Can you uh >> Oh crap. [clears throat] >> It just needs to go to this page.
>> Oh, because you need you need an admin CSRF, right? Or an authenticate CSF. I don't know.
>> Uh let me see. Let me see.
>> Ignore me.
Uh, and then this beginner if you're 70% through CPS already. That's awesome. [laughter] >> Well done. The CPS isn't is no joke and the path is a hard work. So, I think I'm only about 90 80 89 90% through. Um, it's taken me ages. So, smashing it. But and then secondly, yeah, to be honest, research is one of the best ways I actually learned how to do that. That was then learning in CTS. So I would say keep going on CTS that will give you all the core fundamentals, right, of like I don't know even stuff like this like XSS um you know part traversal, you know, file upload attacks, etc., etc. And then with research, the best way to get into it, and it's funny you asked because Hammy actually got me into this.
Um, and now myself and another member of the Discord are trying to teach other people how to do it. Um, that's fine, Amy. Don't worry, I'll um the best way definitely to get into doing your own security research is do basically what Hammy's doing. So, it's open source apps, applications. So, I think um if you're on the discord, I can't remember. Are you on the discord or did you find this from LinkedIn?
Either way, if you're on Delta Discord, I think Hammy has a list of targets.
Sometimes we post are from LinkedIn. No way, bro.
LinkedIn. That's awesome. So, um I would s I would suggest that you get inside the Del Obscure Discord.
>> Can I send a link? How many of you? Um I'll send the link invite. We also have targets on odin.cscyber.ca.
>> Yeah.
>> Yeah. That's a huge list of targets. But I think if you join our Discord server, there's a lot of people you can learn from. There's a lot of people to collaborate with. So >> yeah, there's a lot of people collaborating. Um again, you know, we'll send targets of like open source apps that we're starting to look at. So it's perfectly legal. you're running on your own system, right, via a Docker container, say, and then you're just starting to try out some of any of those attacks that you found on CPTS pathway.
So, you might start to look for some file upload attacks, which is what we're doing right now. Can I bypass file upload? Um, very pop SVG files to XSS.
It's a very standard file upload attack.
Again, like if you start to find things and you're like, oh, might be something, not sure, just post on the Discord.
there'll be a bunch of people. I'll be happy to to um give you some points of where to look uh you know or maybe how to escalate some of these things. Um and again, yeah, and then um so that's basically the best way to do it. Open source, but jump on the Discord, start asking people questions. I'll be I'd be happy to answer anything DM. Uh I'm sure how you were too. Um busy than I am. And then your next question was did AI s suggest something brilliant or make you get grabbed to be honest mostly rabbit holes occasionally brilliant.
So, uh, sometimes it'll give you, so you can see right now like we we were trying a, um, file rename via a post request that may or may not work and it's like rabbit holeing. But if people try to learn if if you try to just rely fully on AI, you're going to just hit these and it's going to be very demoralizing. if you've already got the base knowledge that you've learned from doing CPS uh and then you start applying that and then when you hit something that you're not sure about you ask AI and give it all the context from what you understand and I think it's like way more likely that you actually get somewhere with it.
Um so yeah man, jump in the Discord be great to chat and um this is obviously the first video. It's been a bit of a little bit of a bodgege because we've had a few problems with the had a few problems with the um web app that we're the um application that we're trying and also I think I'd bodgege the announcement. So everyone from GMT thought that this call was starting later.
So again um we'll have more of these calls. a lot coming. Um, but maybe I'll host the next one or maybe I'll host the next one and um and use just more of what we're doing now which is CV and methodology stuff.
Um, yeah, hope that helps.
So I'm trying this one more time and I did generate a shell script for me that basically performs all the upload and stuff but it also checks for permission denied and response text and if it's present it doesn't perform that. So basically this is how it works. It fetches the login page CS sort of login successful fing uh fresh curf again curf token got this. Wow.
>> Then it uploads malicious SVG as evil 1.png, but upload fails with permission denied.
>> Yeah, >> but here's the thing. I'm going to try this with the admin's cookie.
Let's see if that works.
>> That's a be crazy. Yeah.
>> Are you running this within the Docker?
This um terminal command?
>> Um no, that's not within the Docker.
It's just me trying to do my thing. If you're making those post requests outside of Docker, do you think it would is that why it's not working? No, I think that's true.
>> Let me see this with admin.
Does it work with admin? Yeah, with >> Oh, no way. Rename.
[laughter] >> Let's go.
>> Let's see. Let's see. Does it work?
>> Wow, it did work. Fudge. It was uploaded but external parsing error because >> the formatting. Yeah, the formatting is a piece of thing.
>> It's a proof of concept. You can you can upload and then bypass all of the upload permissions by the rename.
I mean, this is already a CV right now.
>> Yeah, this is a CV.
>> Yeah, got it. [laughter] >> Yeah, we got it. Let's go. Let's go. Let me see. Let's uh let's first get an idea of how to exploit this this work but with a caveat.
>> No shot, man.
>> Yeah, I didn't believe it. Me, man. Look at this cloud code that's helping me find zero. This >> you probably the best demo you could have ever joined. [laughter] >> No shot, man. There's no way.
>> Fix this damn thing for me.
pick this please.
>> I can't believe it. [laughter] >> Yeah man. So basically um the reason >> CV mean do you want to just explain what a CV is? What >> common vulnerabilities and exposures basically a way to get a tracking number for a vulnerability so that vendors and people can easily patch it. vendors and users can easily patch it and keep track of it, you know.
>> So, so this CV that you just found like what the attack path is. I mean, >> uh before >> well what it does what it does right it basically allows you to escalate privilege to administrator but now we are executing this as admin. So basically we need a user with permissions to rename files or upload files and we are good to go mate. I can't believe this unreal.
>> Let's see.
>> So this is like this is a great proof of concept. Yeah, do you um open source open source web apps uh sorry open source applications like this um usually not some types but you usually didn't have a bounty program um so usually you find vulnerability like a CV some this is a this is a good example and then we you would submit it to a organization like vol or vol database and then they oh sorry I'm saying it all wrong first you contact the vendor and say, "Hey, hey guys, found this dodgy thing now. Can you fix it?" And they'll go, "Thanks for letting us know." They fix it. Then you report it and then you get a CV assigned to your name. So So why do people care about CVs if they don't get money? Well, it's really good for your resume if you're looking for jobs. I basically got the job I have now just because I had CVs on my resume. I didn't I don't have a single certification. Um but it was just because of what you know learning through Delta and then just hunting for CVs. So um it looks really good in the resume. It holds quite a lot of weight especially if it's a decent one if you know what I mean not just like oh someone's IP league. Um does that make sense? Some companies um quite a lot of companies actually do um also give a bounty with CV with CVs.
some of the bigger companies like Neta and Microsoft. Um, Microsoft's the only one I've got experience of and I have CVs and sometimes they pay you money.
They'll always get you a CV if they need to patch it locally and sometimes it'll be an escape for money as well. Um, and then bug bounty just for context. Bug bounty is like the opposite. So, because it's online, they can patch it from their end if you find a vulnerability and it doesn't need a CVE because no one needs to update anything. they go on the website, it's already fixed. So they'll give you money for bug bounty, but they don't give you a CV. Does that make sense? Um, so that's kind of how it works. Um, but this is open source. This is all all CDs. Oh, what's up? Right. Yeah.
Hope that makes sense. Um, I'll be right back. H just gonna >> uh Sorry, did you say you're going somewhere last time?
>> Yes, I'll be right back. I've got uh just two minutes. Just have my wife or something. I'll be right back while the So for context I'm just um modifying well I'm not modifying I'm just prompting AI to modify this file because um I want to upload uh files with a random file name and uh file name so that I can upload hundreds of them as many as I Okay. Got this error. Why?
Mhm.
Let's see.
Oh, my >> CV hunting live at 5.
It's not 5 here. It's like 10 o'clock at night.
>> Oh, yeah. Uh, let's see. I think we are kind of close. If Marshall was here, we could probably, you know, he is very good with exercise and bypassing stuff.
>> Yeah. Well, we got the bypass. Now we just need the payloads, right?
>> Um, yeah, we just need the right kind of payload to get rid of the shitty XML parsing error. Let me see if Marshall's around.
>> So, I'll just say like right now we could report this right now.
>> 100% get one. It's just already file upload bypass RC done. You don't even need you don't you would you don't need to prove nothing. It's already been proved or account takeover whatever you want to call it. This is a big this is a big deal. This vulnerability really >> I mean it's a vulnerability but I really need to prove the impact as an an attack impact >> 100%.
I just want to tell everyone the discord like guys just can I tell everyone that we just found we just founded got a CVE line.
>> Yeah, sure. I mean that's the point of joining our sessions.
We find zero days this by mistake.
>> Yeah.
>> I don't want to ping Marshall again, but I'm going to ping Marshall again.
Now I kind of like ah honey you should have been you should have been record you should have um you should now share this video but what you need to do is like chop it up like the interesting part like the bit where you realize you're on the wrong version you're on the patched version might not be still okay and a bit where you find the bypath and then >> yeah well Well, well, this video I think um the original purpose of this video has gone to trash. So, now we are busy.
>> It's now it's now it's now it's gone 10 times better than it ever could have gone.
>> Yeah, because uh nothing beats real vulnerability research.
>> Yeah, >> it's not it's not sanitized, you know.
It's not like we are doing a CTF. This is real. This was completely unexpected.
>> It's like double cool. And you know what's going to happen next time? We'll do a demo of this bike pass. We'll be like, "Ah, don't worry guys. This time we're going to do a demo and then you'll accidentally be on the patch version again and then every single time we come on the stream, we'll have to find a new RC a CD bypass." Perfect. This stream is just brilliant. Best one going.
Let me see. Okay.
>> It's too funny.
>> The only thing is I have to go in like five minutes, but >> while type not allowed it's not working.
>> Is this the upload?
>> Did someone join us?
>> No.
>> Okay.
>> Yes, actually. No, it's just us three still. Uh, >> it says one guest.
Okay. No, no way. Join us. Okay.
>> We're all guests.
>> Unless someone's in the lobby or something as well.
>> This is awesome.
>> I mean, the payload did work, but I think I kind of forgot which one worked.
>> You have it in your internal, right?
just go back through the terminal.
>> Uh yeah, I could go that I could go that route or I could just rewind the code.
>> Yeah.
>> Muhammad, did you um did you find this through Ham's LinkedIn post?
>> Uh were you with me?
>> Okay.
Okay. Just wanted to just wanted to clarify that none of my friends on LinkedIn thought it was working. Just wanted to let that sink in live on on stream.
Oh, this is so funny.
>> Yeah. I want to see.
>> Okay. Well, I think the source code that we were checking belong to version 1.0.7.2, not version 1.8 1.0.8. I'm not sure. Let me see.
>> Right. Okay.
>> But you went on the page and it said that it was the patched version.
1.8 now.
>> I'm not sure >> is the content the Texas version. How >> it says it's 1.0.8.
I just found it.
>> Upload a polyot a GIF. That's valid SVG HTML. A GIF eater will make mime type content return a GIF.
Okay.
How did you do it before?
>> It's This agent is really smart. It's really [ __ ] smart. I think it runs multiple agentic AIS at once or it says it does the marketing says it runs multiple >> agents at once. So, I'm going to believe them because it really um it asks the right questions. It says you're running this version of web. I'm going to choose the Docker because I want to see which version you're actually running. And somehow it all already knows that I'm running this on Docker, which is kind of suspicious. How does it know so much?
[laughter] Yeah.
Let me see. So, I changed things.
>> Try not to chance to read into that too much, Har. But yeah, >> everything you're doing is being in fact this this AI has already reported this to me.
Okay, it says file uploaded successfully.
>> Let's go.
>> File rename >> to HTML to HTML. Let me see.
>> Exercise. Is it actually in the >> Wow. Yeah, it Yeah.
>> There we go. Exercise.
>> And there's my cookies and everything.
>> Thank you, Mohammed. Unbelievable.
>> That is insane that the AI agent was able to >> Yeah. Look, it took a lot of back and forth like it does, >> but it's insane that it produced the whole proof of concept in one in one payload.
>> Yeah, >> that is unreal.
>> Yeah. Well, I mean, we could probably pull in source code of WordPress and try to find the CV there as well. Man, >> that that will be too much context for >> stream's already an hour and a half, bro. I mean, I'm not sure.
>> Yeah, how save some things for the next stream, bro. Okay. If you get all the CVs now, what am I going to talk about?
>> Yeah, [laughter] >> that's also a thing. So, uh for this uh for this video, I'm just going to pause it here because it's been 90 minutes. I think we have been Well, our first goal was to find was to go through all the CVs that I that our team had found. So the first one was this one the CV the CV on Fab LMS and the CV on understand CMS.
>> Then I [clears throat] lost the plot. So basically instead of instead of showcasing the vulnerabilities we had already found, >> I accidentally downloaded the latest version of web and instead of downloading the vulnerable version where there was those vulnerabilities and I could show you the CVE.
So and instead of doing that I just ended up playing with the latest version and suddenly I realized that uh there might be a vulnerability because alas was here he was giving me all these ideas and without without yeah without this questions I wouldn't be here because um I usually give up that's one of my problems. So when I'm surrounded with friends or with like-minded people, I usually come up with different sorts of exploit chains and things like that.
And there we are. We have um an CVE and this one has a bigger blast radius I think as well. So I'm going to be pausing um quitting this video for today. It's being recorded. It's going to be uploaded to YouTube as well. after I upload um after I >> report this to Ganzee and WB for a CV assignment and after that I'm going to upload this video and uh uh Muhammad I'll appreciate if you don't share the details of this >> you both put agreed in the chat to my statement of NDA so we're we're >> uh yeah well it's uh it's responsible disclosure And there aren't a lot of people in the session. So I would appreciate if you don't share it uh because we are going to record it. And uh thanks man. Thanks a lot. I appreciate that. And there was another question that you asked. So uh let me see if I can answer this. So you said you are doing CPTs and you're already 70% through the path, right?
So I think uh my last gave you all the details and what you should do. So I did pass the CPTS exam and um from what I can tell you is that the uh exam is it's tough and uh like most people have said it's mostly focused on active directory and the reason that you can understand that without me actually spoiling the exam for you is that all the content that people tell you uh that you need to prepare for CPTs exam almost all of them or 80% is focused on active directory. That's how you know the exam is mostly focused on active directory.
So it's not that difficult to guess that from inference.
So yeah uh just do the active directory stuff but if you don't there are some ways that AI can help you. So uh I have coded numerous web suit extensions. This is one CS surface scanner and um these are mostly open for our team members.
But here's the thing. There was uh extension at coded for solving some of BCP or porc error labs. And the way it worked is that it used a PDF that contains some solutions and also writeups from that uh from every practice test. And then it combine those to analyze every request and response to identify what vulnerability this application might be vulnerable to based on all the information that it had. So Anthropic allows you to upload a file once and then you can reference that file dozens of times and if that file is a PDF or HTML file that contains a lot of information, you can basically just use all of that information to sort things. I think it's called retrieved or augmented uh rag or something retrieve augmented I forgotten what it's called it's actually called rag >> rag yeah >> yeah retrieved augmented generation so basically it's something similar to that rag is more complex because you have to feed all the information to the AI but the version that I have uh proposed using is something that basically AI keeps going through the same file over and over again. So, similar, but it's not the same.
So, I hope that helps.
Yeah, it's right.
Nice.
Cool. I got to go. Thanks, guys. This be really fun.
>> Yeah, it was really fun.
>> We'll do more live next time. It' be awesome. Nice to meet you, Muhammad. And yeah, get in the Discord, man.
>> All right. Thank you, and thank you, Muhammad. I'll be um pausing the recording and then we are go. We got to go.
>> Nice.
Awesome. Right. I'll catch you later.
>> All right. See you.
>> Cheers. Night night, guys. Bye, Muhammad.
>> All right. Bye. Bye.
Related Videos
Agentforce NOW AMA: Build with React and Salesforce Multi-Framework
SalesforceDevs
490 views•2026-05-28
How agent o11y differs from traditional o11y — Phil Hetzel, Braintrust
aiDotEngineer
450 views•2026-05-28
WEB TECHNOLOGIES UNIT-2 | Degree 4th sem BCOM Computers web technologies unit-2 full explanation💯✅
LearnwithSahera
1K views•2026-05-29
More tests are always better? How to use AI to identify tests that bring little value
Alliance4Qualification
335 views•2026-05-29
Search Algorithms Explained in 60 Seconds! 🤖💨
samarthtuliofficial
218 views•2026-06-01
People of Game of Thrones using JavaScript DOM
AltCampus
296 views•2026-05-30
Introduction to Problem Solving Part - 1 | Lecture 1 | Intermediate DSA
ascensionix
107 views•2026-05-29
So What's Odin Lang Even Good For
TechOverTea
131 views•2026-06-01











