본문 바로가기

보안/Natas

(16)
Natas Level 15 - 블라인드 SQL 인젝션 Natas Level 15 → Level 16 Username: natas15 URL: http://natas15.natas.labs.overthewire.org Username: natas15 버프는 느리므로 파이썬 코드를 이용해서 블라인드 SQL인젝션하면 된다. http://moaimoai.tistory.com/294 코드를 참고해서 공격한다. username은 natas16이다.
Natas Level 14 - SQL인젝션 Natas Level 14 → Level 15 Username: natas14 URL: http://natas14.natas.labs.overthewire.org 문제를 확인하니 mysql을 인젝션하는 문제이다. POST 방식으로 메시지를 주고 받고 username과 password가 인자로 있다. 보니까 작은따옴표가 아닌 쌍따옴표를 이용해 인젝션해야한다. 천천히 하나부터 시작하자. 사용할 인젝션 코드는 다음과 같다. 아래는 작은따옴표인데 큰 따옴표로 바꿔서 공격하자. 가지고 있는 디비 ' UNION ALL SELECT NULL, schema_name FROM information_schema.schemata # 현재 데이터베이스 이름 ' UNION ALL SELECT NULL, database() # ..
Natas Level 13 - 웹셀, 시그니처 체크 Natas Level 12 → Level 13 Username: natas13 URL: http://natas13.natas.labs.overthewire.org 문제는 12번과 동일하다. 단 틀린점은 시그니처를 체크하는 함수가 추가되었다는 것이다 exif_imagetype 함수가 추가되었는데 어차피 PHP는
Natas Level 12 - 웹셀 업로드 Natas Level 11 → Level 12 Username: natas12 URL: http://natas12.natas.labs.overthewire.org 소스코드를 보면 다음과 같다. filename을 포스트로 받은 다음 파일이름을 랜덤한 값으로 바꾼다. 랜덤한 값으로 바꾸는 알고리즘은 다음과 같다. 확장자만 추출하고 upload/10글자의랜덤한파일이름.본래확장자 10글자의 랜덤한 이름은 숫자와 소문자조합이다. 파일사이즈가 1000보다 작을 때만 업로드한다. 이런 내용을 가진 php파일을 만들고 업로드한다. 넣었는데 확장자가 jpg로 바뀐다. 파일업로드 공격이 가능하려면 다음의 조건이 필요하다. 1) 확장자 체크를 해야한다. 2) 경로가 노출되어야 한다. 3) 실행권한이 없어야한다. 여기선 비록..
Natas Level 11 - XOR Natas Level 10 → Level 11 Username: natas11 URL: http://natas11.natas.labs.overthewire.org
Natas Level 10 - 커맨드 인젝션2 Natas Level 9 → Level 10 Username: natas10 URL: http://natas10.natas.labs.overthewire.org For security reasons, we now filter on certain characters Find words containing: Output: View sourcecode View sourcecode를 클릭하면 소스가 나온다. 아까랑 다르게 입력에 제한을 걸었다. grep명령을 막기 위해 '' /etc/natas_webpass/* # 를 입력한다. 난 이렇게 안했는데 다음과 같이 해도 된다고 한다. . * /etc/natas_webpass/* # 비밀번호는 U82q5TCMMQ9xuFoI3dYX61s7OZD9JKoK 이다.
Natas Level 9 - 커맨드인젝션 Natas Level 8 → Level 9 Username: natas9 URL: http://natas9.natas.labs.overthewire.org Find words containing: Output: View sourcecode View sourcecode를 클릭하면 다음과 같은 소스가 나온다. natas9 Find words containing: Output: View sourcecode 해당 코드는 내가 입력한 값이 서버로 전송되어 grep -i 입력한값 dictionary.txt에서 찾아준 다음 결과로 출력하는 코드이다. 리눅스는 명령어 여러개 입력하는 방법이 세미콜론이므로 세미콜론을 구분자로 하여 명령어를 입력한다. ;cd /etc/natas_webpass; cat natas10 이렇게..
Natas Level 8 - php코드가 존재할 때 2 Natas Level 7 → Level 8 Username: natas8 URL: http://natas8.natas.labs.overthewire.org Input secret: View sourcecode View sourcecode 링크를 클릭하면 소스를 볼 수 있다. natas8 Input secret: View sourcecode 3d3d516343746d4d6d6c315669563362 를 아스키로 바꾸면 ==QcCtmMml1ViV3b 다 이 값을 뒤집으면 b3ViV1lmMmtCcQ==다 이 값을 base64로 디코딩하면 oubWYf2kBq 값이 나오게 된다. 정답은 W0mMhUcRRnG8dcghE4qvk3JA9lGt8nDl 이다.