보호되어 있는 글입니다.
보호되어 있는 글입니다.

일본에 출장갔을 때 소장님께서 열심히 노트북을 보고 계시길래 갑자기 합류해서 푼 문제! 역시 함께하는 CTF가 제일제일 재밌다. 혼자하는건 좀.. 힘도 빠지고 뭔가 꼭 안풀어도 될꺼같고.. 풀이 다운로드 한 파일은 소스파일임 db.php를 보면 products 테이블에 name이 char인 것을 확인할 수 있고 facebook의 description으로 flag가 있는걸 확인할 수 있음 add.php를 보면 name, secret, description의 내용이 빈것이 아니고 name이 같은 데이터가 없으면 INSERT를 함 secret은 숫자, 대문자, 소문자가 한개씩 포함한 10글자 이상의 문자열 prepare()와 bind_param()를 이용하기 때문에 SQLi X view.php에서는 name과..

speedrun-003.quals2019.oooverflow.io 31337 풀이 speedrun-003은 x86-64 파일임 get_that_shellcode() 함수에서 buf에 입력을 받아 조건 2개를 만족하면 shellcode_it()를 호출함 입력값의 길이가 30 입력한 값의 앞 15bytes를 xor한 값과 뒤 15bytes를 xor한 값이 같아야함 buf에 입력한 값은 rbp-0x30에 위치하는데 v4는 rbp-0x21에 위치한다 즉 buf로 30만큼 입력하면 v4까지 채워짐 xor() 함수 루틴은 아래와 같다. v3 = a1[0]^a1[1]^a1[2]^……..^a1[13]^a1[14] return v3 shellcode_it() 함수는 mmap()으로 메모리를 할당하고 memcpy()로 입..

WEB - SQL injection 웹 페이지에 접속하면 index.php가 실행되고 소스를 보면 culture-item이라는 class를 클릭할 때 자바스크립트가 실행된다. item.dataset.title의 값을 base64로 인코딩 하고 url 인코딩하여 open.php로 보내게 된다. open.php로 전달된 title의 값에 따라서 youtube 링크가 리다이렉션 되기 때문에 DB를 사용해 조회하고 링크를 가져오는 것을 유추할 수 있다. open.php?title=R2VzaWNoZXJ0ZXIgQmVyZWljaA%3D%3D -> https://www.youtube.com/watch?v=71DdxJF8rmg encodeURIComponent(btoa('" or 1=1-- -"'))의 값을 title..
가입을 한다 로그인을 하고 index 페이지나 challenge 페이지로 이동하면 flag를 볼 수 있는 페이지가 있는걸 확인할 수 있는데 점수가 1337보다 커야 flag를 얻을 수 있다 문제는 총 3개가 있고 다 100점짜리이다. 그런데 hack this site2는 flag를 알 수 없어서 실질적으로 얻을 수 있는 점수는 200점밖에 안된다.뭐 hack this site2의 flag를 알아도 100점만 들어가기 때문에 hack this site2의 flag를 안다고 해서 다를게 없다.문제가 어떻든 업데이트 되는 점수는 100점으로 코딩되어 있다.그래서 가입할 때 변조가 가능한지 봤는데 score는 0점으로 고정되어 저장된다. 그리고 가입할 때 받는 username, email, pw도 필터링을 통해..
일단 (initramfs)가 뜨는 이유는 종료를 할 때 잘못되면 배드 블럭이 생겨서 그렇다고 한다.아니 나는 reboot라는 명령어로 다시시작하려고했을 뿐인데...ㅠ이 경우 리눅스 파티션이 날아가서 부팅하는 과정이 멈춰버린 것으로 추정된다. 해결방법은 생각보다 정말 쉬웠다.. 구글링의 중요성 fsck /dev/mapper/ubuntu--vg-root1. (initiramfs)에서 부팅이 멈춤2. 위의 명령어 입력 :: fsck /dev/mapper/ubuntu--vg-root3. 계속 y 누르고 있기4. 재부팅 근데 이건 내생각이지만 fsck 뒤에 경로는 우분투 버전이나 뭐 이것저것에 따라 다를 확률이 많음구글링으로 찾아본 결과 fsck /dev/sha1 이런식으로 명령어를 입력하라고 하는데 나는 안됬었..