보안 공부 79

[Load of SQL Injection] iron golem

pw에 ' 를 넣어주면 오류가 발생한다. 아마도 error base sql injection이라고 생각된다. 문법 정리 (select 1 union select 2) (서브쿼리는 하나의 레코드를 반환해야하는데, 해당 쿼리의 결과는 2개의 레코드를 반환하기 때문에 에러가난다.) if ( 조건문, 참일때 값, 거짓일때 값) pw= '' or id='admin' and if(length(pw)=N, True, (select 1 union select 2))# length(pw)=N가 참이면 에러, 아니면 정상출력 pw= '' or id='admin' and if(length(pw)=32, True, (select 1 union select 2))# --> 에러 출력 --> length(pw)는 32 impor..

[Load of SQL Injection] dragon

소스코드를 보면, id='guest'#를 통해 뒤에 부분을 주석처리한다. 하지만 #는 한줄주석처리로 %0a를 만나게 하면 내릴 수 있다. id='%0aor id='admin' limit 1,1 # where id='guest'# and pw=''%0a or id='admin' limit 1,1 #' id가 guest와 admin 두개가 있기 때문에 두번째 인자인 admin에 대해서 출력할려면 limit 1,1 로 설정해 주어야 한다. ?id=id='%0aor id='admin' limit 1,1 %23 입력

[Load of SQL Injection] xavis

1. 필터링 prob _ . () regex like regexp: sql에서 정규식을 표현할 때 사용함. select id from table1 where pw regexp(1); select id from table1 where pw regexp 1; #pw에 1이 포함된 모든 id를 보여준다. 2. Blind SQL Injection 가능 여부 확인 --> 가능함!! **#는 %23으로 보내주자 3. pw길이 알아내기 --> 12자리 4. pw 알아내기 첫번째 자리....아스키코드에 50864가 있던가 ;;; 이게 무슨 일인가 ;; 검색의 힘들 빌려 다른 방법을 알아냈다. 5. pw는 multibyte를 사용한다. multibyte를 사용하니, pw를 hex로 바꿔서 길이를 다시 구해 봅시다. he..

[Load of SQL Injection] zombie assassin

1. strrev() 문자열을 입력받아서 순서를 뒤집은 상태로 리턴하는 함수 strrev('123456') --> '654321' 2. 필터링 문자들 prob _ . () 이전 문제를 다시 사용하면 될 거 같다. 이전글 --> https://sh1256.tistory.com/72 [Load of SQL Injection] succubus 1. 필터링 prob _ . () 처음에 \(\)를 \\뜻으로 보고 1시간 넘게 못 풀었던...ㅜㅠ 이런 실수는 하지 맙시다 ㅎ 더보기 where id='\' and pw='or 1#' --> where id='\' and pw='or 1 # ' --> 특수문자 앞에 '\'를.. sh1256.tistory.com 3. strrev()와 addslashes()를 고려해서 ..

[Load of SQL Injection] succubus

1. 필터링 prob _ . () 처음에 \(\)를 \\뜻으로 보고 1시간 넘게 못 풀었던...ㅜㅠ 이런 실수는 하지 맙시다 ㅎ 더보기 where id='\' and pw='or 1#' --> where id='\' and pw='or 1#' --> 특수문자 앞에 '\'를 붙이면 특수문자는 문자로 취급한다. 이 점을 이용해서 공격 시도! select id from prob_succubus where id='\' and pw='or id=char(97,100,109,105,110)#' select id from prob_succubus where id='\' and pw='or id=char(97,100,109,105,110)#' URL + ?id..

[Load of SQL Injection] Assassin(SQL like wildkard)

문제를 보면 평소와 다르게 '='(등호)를 쓰지 않고 'like'를 쓰고 있다. 평소에 like는 '='의 우회 용도로만 썼던 터라 이게 뭔지 했지만 like 문법에 대해서 잠깐만이라도 검색해 보면 like에 와일드 카드가 있다는 것을 알 수 있다. SQL like 사용법, 문법, 와일드카드 % 문자가 없거나, 한 글자 이상의 문자열 (ex: (공백), a, asdfsdf~) _ 한 글자의 문자 (ex: a, b, 1) 5% 5로 시작하는 문자열 (ex: 5, 5dsdf~) %5 5로 끝나는 문자열 (ex: 5, dsdf~5) _5% 두번째 자리가 5인 문자열 (ex: 25, 85ieds) _2_5% 두번째 자리가 2, 네번째 자리가 5인 문자열 (ex: 6245, i2u5wis~) ______(언더바 ..