i tried doing it manually , not using the script , its really not working
@jorgerodriguezmoreno11962 күн бұрын
New topic to research: ln command
@kekmanzzz75483 күн бұрын
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!
@carlislemc3 күн бұрын
Python allows you to create characters you can't type on the keyboard. E.g. \x03 has no corresponding key on the keyboard.
@kekmanzzz75483 күн бұрын
@@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?
@carlislemc2 күн бұрын
@@kekmanzzz7548that would also work
@The_Scene8264 күн бұрын
It would be very helpful if you left the script in description
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
@carlislemc6 күн бұрын
At what point in the video does the challenge work differently for you?
@tomk83126 күн бұрын
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
@carlislemc5 күн бұрын
@@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-g3u11 күн бұрын
next time please take it slowly step by step cause it's hard understanding you
@carlislemc11 күн бұрын
Thanks for the feedback
@dailodi12 күн бұрын
Great!
@YoutubeEmail-g8s16 күн бұрын
hey can you explain how checked password came from that script?
@capp130616 күн бұрын
Mann, I would've never figured this one out, Guess I have to learn more about apache, Indexing and Mac files.
@syedalbaher5 күн бұрын
I got to 4th flag but couldnt figure out the final one 😅
@arturtkaczuk19 күн бұрын
That is crazy hard for me 😅😅
@MONSTERGAMING-jd7zw24 күн бұрын
thank you sir
@giuseppe289527 күн бұрын
Thanks Prof/Martin
@User-f7w9eАй бұрын
Any documents??
@User-f7w9eАй бұрын
Which place do you learn , because i know lit bit of English 😢
@carlislemc11 күн бұрын
Mostly by reading writeups at CTF time
@User-f7w9eАй бұрын
Sir I can't understand the stuffs 🥹🥺🥺
@PatrickAlbertoCamiloMartínezRoАй бұрын
Sir, great quality content the one you make, thank you a lot
@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Ай бұрын
This should be clear if you decompress with UPX and then put the resulting unpacked executable into Ghidra along with the PDB.
@mr.ebonite9011Ай бұрын
How to know that upx was used ?
@carlislemcАй бұрын
You can see this by looking at the sections in Ghidra on the original executable.
@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Ай бұрын
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Ай бұрын
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Ай бұрын
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Ай бұрын
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Ай бұрын
@@carlislemc Makes sense
@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Ай бұрын
Since we allocated 36 bytes, we don't have to fill the entire structure, just get "pico" in the correct place.
@m91316Ай бұрын
@@carlislemc Gotcha, thanks again!
@gamermashoo9756Ай бұрын
sir why you don't pick last byte 2 becuz 52 is also present there
@carlislemcАй бұрын
I do say 5 or 2, and I can brute force those choices.
@nigcholasgarcia1804Ай бұрын
Thank you, I could not figure it out by myself.
@dostoyuncu305Ай бұрын
what was the purpose of program.deb file. I couldn't understand the reason for it
@carlislemcАй бұрын
It is a Debian installer for steghide
@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Ай бұрын
what is the pasword to open the zip file?
@carlislemcАй бұрын
Use the first portion of the flag as the password to open the zip file
@ROBINHOOD-y3xАй бұрын
No proper explanation sir, first IDK why all this doing, why and use?
@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Ай бұрын
Glad it was helpful to you!
@Dunter76Ай бұрын
thanks for those video.
@carlislemcАй бұрын
Glad you like them!
@m91316Ай бұрын
Hey Martin, great video. Just one question: Why do we pick up the 20 and 0x404062? Thanks!
@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Ай бұрын
@@carlislemc Got it, thanks!
@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
@riterforever35162 ай бұрын
That's really helpful, your writeups really saves my day!
@JayceDang2 ай бұрын
bạn dùng phần mềm gì vậy (hình con cánh cụt)
@carlislemc2 ай бұрын
Windows Subsystem for Linux
@JayceDang2 ай бұрын
@@carlislemc thanks you!
@Gamehero9112 ай бұрын
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.
@carlislemc2 ай бұрын
I've had this problem when I'm at work and my workplace IT people are blocking my queries at their firewall.
@Gamehero911Ай бұрын
@@carlislemc Thanks for the reply, I'll try on another network 👍
@jonnyphenomenon2 ай бұрын
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.
@abrar990982 ай бұрын
what the hack man. i tried for last 1 hours (self + watching tut) but you did it just few second. Shiiittt man 😂
@yalamanchilisameera70302 ай бұрын
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
@carlislemc2 ай бұрын
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).
@abhigyanrastogi16622 ай бұрын
There has to be a better way to enumerate all the cookie name values...right?
@carlislemc2 ай бұрын
I should have automated it in Burpsuite
@jorgerodriguezmoreno11962 ай бұрын
What did I just watched?
@jorgerodriguezmoreno11962 ай бұрын
Is there a way to do it in the terminal?🤔
@carlislemc2 ай бұрын
No, I don't think so because you have to look at the picture.
@amayaputri83462 ай бұрын
Well explained! Thanks a lot :D
@PhamThanh-s2q2 ай бұрын
Sorry, but i don't know why printf(choice1) doesn't have format string error?
@carlislemc2 ай бұрын
Because you aren't allowed to put in an arbitrary string, but only one on the menu.
@Jorge-so1nt2 ай бұрын
Hey Carl, I'm new here. I messaged you in your email and just subscribed. Thank you!
@jorgerodriguezmoreno11962 ай бұрын
ok, I need to learn what a Diffy-Hellman key exchange is. Going my way up!!!!
@jorgerodriguezmoreno11962 ай бұрын
Understanding encryption algorithm to come up with decryption algorithm.
@AKASHVI-d4k2 ай бұрын
how to use cookie manager in fire fox
@abhigyanrastogi16622 ай бұрын
Cookie manager - Cookie editor from addons
@ZackWhitbord2 ай бұрын
Thank you for another great writeup , Special Agent Carlisle!
@carlislemc2 ай бұрын
Thanks for the kind words
@PEMRiUM2 ай бұрын
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 !
@carlislemc2 ай бұрын
You have to round the size to a multiple of 4.
@PEMRiUM2 ай бұрын
@@carlislemc Thank you very much. So if it would be the size of 41, I should use 44. Got it 👍
@agaga588618 күн бұрын
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.
@petermarshall87502 ай бұрын
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?
@carlislemc2 ай бұрын
Basically all the Intel chips are little endian.
@lekhashree53342 ай бұрын
i actually can't understand format string 2 and 3 challenges. please tell me what and where i should learn..
@carlislemc2 ай бұрын
Perhaps you should read something like: axcheron.github.io/exploit-101-format-strings/
@atharvrevankar3792 ай бұрын
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
@carlislemc2 ай бұрын
You might want to read more about format string specifiers, e.g. cplusplus.com/reference/cstdio/printf/.