반응형 전체 글607 [los - SQL injection] orc ( 4단계 ) [los - SQL injection] orc ( 4단계 ) [ 문제풀이 ] orc는 if(($result['pw']) && ($result['pw'] == $_GET['pw'])) 조건문을 만족해야 해당 문제가 풀린다.. 취약점으로 이용할 수 있는 부분은 $query = "select id from prob_orc where id='admin' and pw='{$_GET[pw]}'"; 와 $query = "select pw from prob_orc where id='admin' and pw='{$_GET[pw]}'"; 이 두군데로 보인다...근데 이 문제에서는 addslashes() 함수를 이용해서 쿼터의 사용을 금지하여서 두번째 쿼리에서는 쿼터 사용이 불가능해진다..여기서는 첫번째 쿼리와 출력되는 e.. 2017. 9. 23. [los - SQL injection] goblin ( 3단계 ) [los - SQL injection] goblin ( 3단계 ) [ 풀이과정 ] goblin 문제도 이전 문제와 같이 if($result['id'] == 'admin') 조건이 만족이 되야 풀리는 문제이다.. prob _ . ( ) ' " ` 기호가 모두 막혀있어서 다른 테이블로의 접근이나 쿼터사용이 불가능해졌다. id의 값은 guest로 고정이 되어있고 no값을 이용해서만 sql injection이 가능한데 no는 string이 아닌 numeric 값을 받는다. no에 1을 넣었을때 Hello guest라는 문자가 출력되는걸 확인하고 guest는 첫번째 행에 있는걸 추측 해볼 수 있다..그렇다면 guest가 어떤 no에 있는지를 알았기 때문에 앞의 쿼리를 만족하지 못하도록no 값에 2를 주고 뒤이어 .. 2017. 9. 23. [los - SQL injection] cobolt ( 2단계 ) [los - SQL injection] cobolt ( 2단계 ) [ 풀이과정 ] cobolt에서도 if($reulst['id'] == 'admin') 조건을 만족시켜야 그안에 있는 solve("cobolt")가 실행되면서 문제가 풀린다.여기선 조건문이 실행 되려면 $result['id'] 안에 'admin'이라는 값이 들어있어야 한다.$result는 mysql_fetch_array()를 사용해서 해당 쿼리의 결과에서 한줄의 행을 가져와 저장시켜둔 변수이다.그렇다면 제일 첫번째 행에 id 컬럼이 admin에 대한 값이 들어있어야 한다는 얘기가 된다.. 여기서도 id와 pw값을 쿼터로 감싸 문자로 받는데 여기서도 쿼터에 사용이 따로 막힌게 아니기 때문에string SQL injection이 가능해진다는걸 .. 2017. 9. 23. [los - SQL injection] gremlin ( 1단계 ) sql injection war game - los.eagle-jump.org - php 코드가 공개되있고 실행된 SQL 쿼리도 볼 수있는 사이트로 이 사이트에서 php와 쿼리가 보이지 않는 상황에도 머리에 그려질수 있도록 연습을 한다. [LOS - SQL INEJCTION] gremlin ( 1단계 ) [ 풀이과정 ] if($result['id'])가 실행되어 안에 있는 solve("gremlin");이 실행되게 하는게 목표이다.그러려면 $result 변수에 id라는 key값에 값이 들어있어야 해당 조건이 true로 된다. pregmatch()를 사용해서 prob _ . ( ) 기호들을 막아 다른 테이블로의 이동을 할 수 없도록 해놨다. 위 코드를 분석해보면 SQL 쿼리는 select id from p.. 2017. 9. 7. [JAVASCRIPT WEB] html에서 javascript 로드 방식 / Object Model( BOM <사용자 커뮤니케이션 / Location 객체> ) html에서 javascript 로드 방식 / Object Model( BOM )에 대해서 정리한다. 웹브라우저 자바스크립트 - HTML은 정보, CSS는 디자인, JavaScript는 웹브라우저,html을 프로그래밍적으로 제어하는 역할을 한다. HTML에서 JavaScript 로드하기 1. inline 방식 - 태그에 직접 자바스크립트를 기술하는 방식 - 태그에 연관된 스크립트가 분명하게 드러난다는 장점이지만 정보(html)와 제어(javascript)가 섞여 있기 때문에 웹 브라우저가 문서를 불러오기 조금 까다롭다. ( 코드의 양이 많아지면 나중에 유지보수 또한 어려울 수 있다... ) ( html 태그에 직접 script 코드를 기술하는 방식의 inline 방식이다 ) 2. script 방식 - 태.. 2017. 9. 7. [WEB HACKING] Blind SQL injection / 상황별 실습 ( 하나의 행만 출력되는 상황 / 컬럼이 하나도 출력되는게 없는 상황 / 참과 거짓도 확인이 안되는 상황 ) Blind SQL injection / 상황별 실습에 대해서 정리한다. - 타겟 페이지에서 한줄의 행만 출력이 되는 상황 * 타겟 페이지가 while()을 사용하지 않을때 union select로 실행되는 뒤에 결과인 두번째 행부터는 확인이 불가능하다. ( union select 1,2,3을 추가시켜서 실행해보면 타겟 사이트가 반복문을 사용하지 않고mysql_fetch_row도 한번바께 사용하지 않기 때문에 첫번째 행만 실행이 되는걸 확인 할 수 있다.. ) ( 이런 상황에서 다른 행의 정보를 알아내는 방법은 order by를 이용하여 여러 컬럼을 기준으로 정렬을 해주면서 정보를 알아내는 방법이 있는데 이 방법은 정렬을 할 수있는 컬럼의 갯수가 적거나 행의 갯수가 많다면 좋지못한 방법이다... limit.. 2017. 9. 6. [CSS] css 기본 개념 / 선택자와 선언 / 선택자의 종류( 태그 / 아이디 / 클래스 ) css 기본 개념 / 선택자와 선언 / 선택자의 종류( 태그 / 아이디 / 클래스 )에 대해서 정리한다. CSS - 웹 페이지를 꾸며주는 언어 - html이 정보로서의 표현을 집중하기 위해서 디자인을 담당하는 언어 - 태그안에서 동작하는 코드 - HTML에서 CSS를 만들게 되면서 정보와 디자인의 분리가 명확해졌다. - CSS 문법 안에 효과를 줄때 구분자는 ';' 세미콜론을 이용해서 구분하게 된다. - CSS를 사용하는 방법 1. 태그 안에 style 속성을 이용하면 그안에 CSS에 대한 값을 줄 수 있다. ( style 속성에 대한 값은 무조건 CSS가 들어가도록 약속이 되있다 ) 2. 태그 안에 CSS를 이용해서 디자인을 바꿀 수 있다. ( 태그안에 태그 선택자를 이용해서 태그에 대한 CSS를 적용.. 2017. 9. 6. [WEB HACKING] Blind SQL injection 기본개념 Blind SQL injection 기본개념에 대해서 정리한다. Blind SQL injection - SELECT 쿼리에 취약점이 존재하는 경우 - DB내의 정보를 노출할 수 있는 취약점 테스트 사이트 1). DB: blind - table news - no(숫자) - title(문자) - news(문자) fnews - no(숫자) - title(문자) - news(문자) - bigo(문자) anews - no(숫자) - title(문자) ( blind DB안에 테스트 사이트에서 사용할 news 테이블과 fnews, anews 테이블을 만들어놨고 해당 구조이다.. ) ( 실습을 위해서 각 테이블마다 3개씩 데이터를 입력 해두었다... ) ! 각 테이블에는 테스트를 위한 데이터를 미리 입력( 3개정도 ).. 2017. 9. 5. 이전 1 ··· 54 55 56 57 58 59 60 ··· 76 다음