Wargame, CTF (113) 썸네일형 리스트형 LOS _wolfman preg_match 함수는 / 와 / 사이의 문자를 필터링하는 함수 위의 preg_match는 데이터베이스 변조를 막기위한 것으로 보이고 이번 문제에서 볼 2번째 preg_match에서 공백(space, %20)을 필터링으로 막아놓았다 Hint SQL 공백 우회 ...더보기 %0a->개행문자 %09->Tab 등 사용 qurey pw='or%09id='admin'%09and%091=1%23 LOS _orc 입력 값은 pw로 받음 리얼 데이터베이스에 있는 admin의 pw와 입력한 pw가 같아야함 Hint Blind SQL Injection length() substr() ...더보기 length 함수를 사용해 pw의 길이를 알아낸다 query pw=' or id='admin' and length(pw)>5%23 5보다 기냐고 하니 TRUE pw의 길이는 8자리 substr을 사용해 첫번째 자리부터 하나하나 찾으면되는데 특수 문자+영어 대소문자+숫자종류 * pw을길이(8) 이 모든 경우의 수를 해보기엔 엄청 귀찮으니까 프록시 툴을 쓰거나 프로그래밍으로 풀어야한다 With Pothon 참고로 requests 모듈 필요 cookie값은 자신의 쿠키값으로 바꿔야함 import requests url="https:.. LOS _goblin no를 입력 값으로 받고 있다 Hint guest는 no=1 admin의 no=? and 연산자가 or 연산자보다우선 ...더보기 query no=2 or no=2 LOS _cobolt id와 pw를 받는데 pw는 md5로 암호화 query를 데이터 베이스에 넘겼을 때 나오는 id가 admin일 시 클리어 Hint: 주석처리 ...더보기 query: id=admin' %23 LOS _gremlin GET방식으로 id와 pw를 전달 query문이 데이터 베이스에 전달 됐을 때 id가 뭐라도 나온다면 클리어 query: id=' or 1%23 %23은 #으로 한줄 주석 --으로 해도 가능하다 ftz level3 소스코드의 내용은 실행할 때 인자가 2개가아니면 중간에서 끝나버리니까 무조건 2개를넣어준다 ./autodig 123123이렇게 2번째 인자를 cmd배열안에 넣고 system함수로 cmd배열의 내용을 실행 시킨다 넣어야 할 명령은 /bin/bash와 my-pass 동시에 여러 명령어를 사용하려면? ';'를 명령 사이에 넣으면 된다 /bin/bash와 my-pass를 동시에 사용하려면 /bin/bash;my-pass 문자열 형태로 명령어를 전달하려면? "을 사용한다 "/bin/baash"처럼 기존 사용하던 find 명령어에서 -name옵션을 추가해 autodig를 찾는다 find / -name autodig -user level4 -perm -4000 ftz level2 "shift +"로 입력모드를 들어가고 esc를 눌러 입력모드 종료 qq를 쳐서 recoding이 뜰 때 !하고 다른 문자를 입력하면 위 사진처럼 글자가 보인다 보통 저장하고 나가기wq!를 쓸 때하는 기능 !/bin/bash를 입력하고 enter를 치면 level3의 권한으로 shell을 실행 ftz level1 ls 명령어를 하면 hint가 있다 cat hint의 내용 ftz trainer에서 배운 find명령오로 level2의 유저로 setUID가 걸린 파일을 찾으면 /bin/ExecuteMe라는 파일만 permission denied 가 안되어 있다 my-pass는 바로 안되므로 level2의 쉘을 실행 /bin/bash bash만 입력해도 되긴하더라 level2의 권한을 획득하고mypass를 입력한다 이전 1 ··· 9 10 11 12 13 14 15 다음