[Code] main: push rbp mov rbp, rsp mov esi, 0xf mov rdi, 0x400500 call 0x400497 mov eax, 0x0 pop rbp ret write_n: push rbp mov rbp, rsp mov QWORD PTR [rbp-0x8],rdi mov DWORD PTR [rbp-0xc],esi xor rdx, rdx mov edx, DWORD PTR [rbp-0xc] mov rsi,QWORD PTR [rbp-0x8] mov rdi, 0x1 mov rax, 0x1 syscall pop rbp ret ================================== [Memory] 0x400500 | 0x3037207964343372 0x400508 | 0x003..
분류 전체보기
rip 레지스터 : 다음 실행할 명령어 바로 이전
https://github.com/minchan02/TIL/tree/main/book/PragmaticProgrammer 깃허브 마크다운으로 대체합니다.
lv : {$result['lv']}"; if($result['lv'] == "admin"){ mysqli_query($db,"delete from chall59"); solve(59); } echo "view-source"; exit(); } } if($_POST['id'] && isset($_POST['phone'])){ $_POST['id'] = addslashes($_POST['id']); $_POST['phone'] = addslashes($_POST['phone']); if(strlen($_POST['phone'])>=20) exit("Access Denied"); if(preg_match("/admin/i",$_POST..
웹 해킹 문제를 풀다보면 preg_match 함수로 일부 키워드들을 필터링 한 문제들이 많이 보인다. preg_match("/admin|0x|#|hex|char|select/i",$_POST['phone']); '|'로 필터링하는 단어들을 구분하고 뒤에 i 옵션을 이용해 대소문자 구분을 하지 않는다. *정규식 참고하기 따로 알아낸 정규식들 정리 \d => 모든 숫자 \x20 => 스페이스 \& => 리터럴로 변환 즉, &문자 사용 불가능 preg_match("/or|union|admin|\||\&|\d|-|\\\\|\x09|\x0b|\x0c|\x0d|\x20|\//",$t) 이렇게 하면 %09같은거 못