[Net-force] [Javascript] 1. Training - Javascript, secure? 해당 문제를 누르면, 아래와 같은 화면이 나온다. 간단하게 보호했으니, 크랙해보라고 한다. Username을 요구하는 prompt와 password를 요구하는 prompt가 반긴다. 당연히, 입력한 게 맞을 리 없다. 크롬 브라우저의 기능으로 해당 페이지의 소스 코드를 볼 수 있었다. 암호화 같은 것 없이 하드코딩 되어 있다. password 변수에 저장된 문자열을 인증키로 사용하면 된다. 더보기 [OverTheWire] [Leviathan] Level 1 → Level 2 leviathan1 계정에 접속해보면, 다음 ELF 파일 하나가 존재한다. 소유자는 leviathan2로, setuid가 걸려있는 파일이다. 실행해보면 패스워드를 요구한다. 디버깅을 위해, gdb를 실행한다. 가장 먼저 실행한 set disassembly-flavor intel 명령은 어셈블리어를 intel 문법으로 설정한다. 우선 흐름을 분석해보자. ~에서 password를 3글자 입력받는다. 몇 글자를 입력하든, 3글자만 인식한다. ~에서 strcmp 함수의 인자를 설정한다. 역순으로 push되므로, [esp+0x18]이 2번째 인자, [esp+0x14]가 첫번째 인자가 된다. ~에서 strcmp 함수의 결과에 따라 분기한다. strcmp의 결과가 0 즉, 두 문자열이 같으면, jne문을 무시하고, .. 더보기 이전 1 ··· 656 657 658 659 660 661 다음