Webhacking.kr Challange old 3번 문제 풀이 Nonogram이라는 게임으로 시작하는 문제이다. 아래와 같이 블록을 선택하면 검정색으로 변하는 것을 확인할 수 있다. solved 버튼을 누르면 get 변수로 _1, _2, ... 값들이 넘어가는 것을 볼 수 있는데 첫번째 칸이 칠해졌으면 _1=1이되고 칠해지지 않았으면 _1=0 이 되는 방식이다. 처음에는 여기서 SQL 인젝션을 해야한다고 생각해서 URL 창에 인젝션을 계속 했는데 되지 않아서 그냥 게임을 풀어주었다. webhacking.kr/challenge/web-03/index.php?_1=1&_2=0&_3=1&_4=0&_5=0&_6=0&_7=0&_8=0&_9=0&_10=0&_11=0&_12=0&_13=0&_14=0&_15=0&_..
옛날에 webhacking.kr 정말 열심히 풀었던 기억이 난다. 오늘은 또 어떤 포스팅을 올려야 할지 고민하던 참에 생각나서 페이지를 들어가봤는데 기존의 운영진?이 사이트를 다른 사람에게 인수한 모양이다. 로그인도 안되고 비밀번호를 찾으려고 아무리 시도해도 인증 메일이 오지 않았다. 그렇다고 따로 컨택을 하기도 애매해서 어쩔 수 없이 새로 가입한 후 문제를 확인했다. 옛날에 사용하던 블로그에 올려놓은 풀이와 비교를 해보니 문제 순서가 변경된건지 전부 변경된건지 문제가 살짝살짝 다르다. 문제 풀이 방식은 동일한데 소스만 다른것도 있는 것 같고 정확한건 한문제씩 보면서 확인해봐야할 것 같다. 스멀스멀 시간나는대로 문제를 풀어가보기로 했다. Webhacking.kr Challenge old-01 문제 풀이 ..
우분투(Ubuntu)에 리눅스 무료 웹방화벽(WAF)인 ModSecurity를 설치 및 설정해본다. 그리고 sql인젝션이 되는 취약한 웹페이지에서 ModSecurity에 sql인젝션 룰설정을 통해 인젝션을 방지할 수 있음을 보인다. 우분투 16.04 x64에서 진행했고 아파치는 Apache 2.4.18 버전이 설치되어있다. - OS 환경 : 우분투 16.04 x64 - apache2 버전: Apache/2.4.18 (Ubuntu) 우분투에 웹방화벽(WAF) ModSecurity 설치 ModSecurity는 apt-get으로 간단히 설치할 수 있다. # apt-get install libapache2-modsecurity -y 설치확인은 2가지 방식으로 할 수 있는데 apachectl -M 을 사용해 로드..
무려 2015년경에 웹해킹 공부를 하겠다고 APM 구축 후 제작했던 허접한 페이지이다. 진짜 세월 빠르다.............벌써 5년이나 흘렀다니.. 앞으로 해당 카테고리에서 다룰 모든 웹관련 테스트나 실습은 해당 웹페이지를 통해 수행할 것이다. DB랑 연결되어 있는 부분은 5곳정도 있다. (다행히도 DB 백업을 해둔 파일이 있어서 바로 복원할 수 있었다) 웹페이지 기능소개 회원가입 기능 회원가입 기능이 있다. 회원가입을 하면 user 테이블에 사용자 정보가 추가된다. 로그인/로그아웃 기능 회원가입된 정보대로 로그인을 수행하면 해당 유저에 대한 세션이 생성되고 로그인 상태가 유지된다. 로그인 기능이 있으니 당연히 로그아웃도 있다. 로그인된 상태에서 로그인 페이지로 들어가면 로그아웃 버튼이 활성화된다...
백업 데이터베이스(DB) 복구하기 mysql 데이터베이스를 백업했으면 .sql 파일이 생겼을 것이다. 이렇게 백업한 데이터베이스 파일은 간단한 명령어를 통해 복원할 수 있다. 현재 데이터베이스는 아래와 같이 기본 데이터베이스만 존재한다. 전체 데이터베이스를 백업했기 때문에 전체 데이터베이스를 복원하는 것인지 개별 데이터베이스를 백업했기 때문에 개별 데이터베이스를 복원하는 것인지에 따라 살짝 다른데 아래와 같이 명령어를 입력했을 때 'ERROR ~ No database selected' 라는 에러 구문이 발생한다면 개별 데이터베이스를 백업한 파일이기 때문에 데이터베이스를 선택해주어야 한다. # mysql -u [계정명] -p < [sql파일] # mysql -u root -p < dasa.sql 따라서 m..