SlowTurtle_

천천히 그러나 끝까지 완주

728x90

Webhacking-Write-Up 59

[Dreamhack] file-csp-1

[Dreamhack] file-csp-1 소스를 을 때 결론적으로 보면 a== ‘error’ and b == ‘error’ and c == ‘c’ and d != ‘error’가 되면 FALG를 얻을 수 있다. 1을 보낸 뒤 소스를 보았다. 어떤 함수의 SHA값을 하나 알 수 있었다. test에서 초기에 script-src ‘unsafe-inline’이 적혀있는데 CSP를 공부했을 때 script-src는 스크립트 관련된 권한 집합을 제어하는 것으로 알고 있었다. 그리고 unsafe-inline은 inline script를 허용한다는 뜻이다. 그렇다면 script-src를 보내보았다. 그랬더니 아무것도 출력되지 않았고 콘솔에서 위 사진을 볼 수 있었다. 4개 함수의 SHA 값인데 뭐가 무엇인지 아직 모른..

[Dreamhack] crawling

[Dreamhack] crawling check_global과 damin_page를 보면 address는 127.0.0.1인지 체크하고 있으므로 address는 127.0.0.1이어야 한다. 가장 밑을 보면 포트는 3333이니 127.0.0.1:3333을 보내보자. 여기서 참고할 점은 PHP는 http://Wrapper를 지원한다. 즉, http://url~와 같은 형태로 넘겨주면 외부 도메인에 있는 리소스를 가져오는 것이다. 소스 코드에서 본 것처럼 check_global을 우회하지 못하여 Can you access my admin page~? 문장이 출력되었다. 127.0.0.1:3333을 외부 ip인 것처럼 다른 url로 변경하여 요청하여 check_global을 우회해보자. url 단축을 이용했다..

[Dreamhack] login-1

[Dreamhack] login-1 소스 코드가 길어서 필요한 부분만 가져와봤다. guest를 0, admin을 1 와 같이 userLevel로 구별하고 있다. /user/useridx useridx로 db에서 가져오는 정보를 볼 수 있다. 권한이 1일 때 /admin페이지를 확인할 수 있다. 이곳에 Flag가 있으니 권한 1을 가지고 있는 계정으로 /admin페이지를 확인하면 Flag값을 얻을 수 있다. register에서 가입할 수 있는데 가입하고 나면 backupcode를 준다. 그 backupcode는 100까지의 숫자 중 랜덤하게 부여한다. Brute Force공격을 막기 위해 sleep(1)을 걸었다. 비밀번호가 틀렸다. 그럼 가입을 해보자. slow/slow/slow로 가입해보니 Backup..

[Dreamhack] [wargame.kr] adm1nkyj

[Dreamhack] [wargame.kr] adm1nkyj 초기화면에서 소스코드를 보여준다. id를 150번 입력하면 초기화가 된다. 음 id와 pw, flag를 모두 GET 방식으로 보내줘야 진짜 flag 값을 획득할 수 있는 것 같다. 그럼 우선 id부터 알아보자. ?id=’ or 1=1 -- - Hello 2라는 결과를 출력하였다. 위에서 획득한 id가 2번째 컬럼인 것을 확인했다. 그럼 pw를 구해보자. pw의 컬럼을 확인하기 위해 아래와 같이 보냈다. ?id=%27%20union%20select%201%2C&pw=%2C2%2C3%2C4;%20--%20-​ 컬럼은 xPw4coaa1sslfe= 임을 확인했고 이것을 이용하여 pw를 구하면 ?id=%27%20union%20select%201%2C%2..

[Dreamhack] weblog-1

[Dreamhack] weblog-1 (이번 글은 사진이 작을 수 있으니 클릭해서 확인하세요!) 초기 화면이다. 5문제를 풀어야 flag를 주는 것 같다. 우선 admin계정의 Pw를 찾기위해 access.txt을 열어봤다. 정렬은 되어 있지만 보기 너무 힘들어서 Excel로 공백을 기준으로 나눈 뒤 의미 없는 열을 지운 뒤 분석했다. 파일을 빠르게 내리면서 보니 초반과 다르게 의심스러운 부분이 있었다. 자세히 보면 1초마다 1개씩일 때도 있지만 많으면 1초에 4번씩 board.php에서 sort파라미터에 32,33,34~ 와 같이 SQL Injection 의심 쿼리를 확인할 수 있었다. 분명 admin과 pasword를 탈취하기 위한 쿼리문도 있을 것이니 더 내려봤다. (TABLE_NAME, COLUM..

[Dreamhack] Tomcat Manager

[Dreamhack] Tomcat Manager 초기 화면에 사진은 image.jsp?file=working.png을 보면 알 수 있었다. 우선 제공된 파일들을 보자. Dockerfile을 보면 파일들의 경로가 다 나와있다. image.jsp?file=을 이용하여 저 상대경로로 접근해보자. ROOT.war또한 안된다. 상대경로로 이것저것 다 해보다가 성공했다. 다른 이름으로 저장 받아서 ROOT1.war로 받았는데 확인할 게 없었다. tomcat-users.xml에 password가 secret이었는데 한 번 같은 방식으로 진행해봤다. 접속에 성공했고 tomcat-users1.xml로 다운받아 엑셀로 열어봤더니 아까와는 다르게 password를 획득할 수 있었다. 그럼 이걸 관리자페이지로 접근해야 하는 ..

DVWA(medium) - SQL Injection, Blind SQL Injection, Weak Session IDs

1. SQL Injection db에 5users있고 내가 해야할 것은 SQLi를 이용해 그들의 패스워드를 훔쳐오는 것이라 한다. 우선 low와 차이점을 알아보자. $query = "SELECT first_name, last_name FROM users WHERE user_id = $id;"; 소스코드 중 핵심부분부터 봤는데 low때와달리 '(작은따옴표)를 사용하지 않는 것을 확인했다. low때와 달리 버프슈트를 이용해서 더욱 수월하게 풀어보겠다. low때 작성하였던 코드에서 '만 빼서 버프슈트에서 사용하였다. UNION SELECT user,password FROM users# id별로 Surname에서 password를 출력함을 확인할 수 있다. 2. SQL Injection(Blind) Blind ..

DVWA(medium) - File Inclusion, File Upload, Insecure CAPTCHA

1. File Inclusion low와의 차이점부터 알아보자! source코드를 보면 low 때 사용했던 ../와 ..\ \등을 필터링하는 것을 알 수 있다. 그러나 이것은 쉽게 해결할 수 있다. ....//이렇게 작성한다면 ..***/(*은 필터링 된 자리) 필터링이 된 *을 제외하면 ../가 남는다. 이때까지 몰랐다.. dvwa의 맨 하단에 보면 이 문제의 목표가 있다는 것을... 하.. 지금까지 내 맘대로 해석하여 풀었구나 싶어서 남은 문제들에 목표에 최선을 다하여 만족하게 풀어보도록 하겠다... 해석해보면 ../hackable/flags/fi.php에 있는 5개의 인용문 모두를 오직 file inclusion으로만 읽는 것이 목표이다. 우선 ....//....// 로 ../필터링을 우회하여 1번..

728x90