sql injection 공격 탐지 , 정규 표현식을 이용한 탐지

2021. 1. 11. 14:12·공격기법 및 탐지

 

1. content:"union+select"; nocase; 룰을 우회하여 union sql injection 공격을 수행하시오

 

alert tcp any any -> 192.168.1.24 80 (msg:"union sql injection"; content:"union+select"; nocase; sid:0001;)

 

 

공격은

' union all select 1,2,user(),4,5,6,7#

 

all을 추가하여 한다.

 

 

2. 'or '1'='1'# 패턴을 차단할 수 있는 룰을 작성하시오

 

' or '1'='1'# 이것을 url 인코딩하여 

 

content:"     url인코딩한것         "

 

 

content:"%27+or+%271%27%3D%271%27%23"

 

특수문자만 바꿔주고 띄어쓰기는 바꿔주지않습니다.

 

 

 

 

 

또 

' or '2333'='2333'#이것을 탐지할려고하면

 

정규 표현식을 이용합니다.

 

' OR '[a-zA-Z]'='[a-zA-Z0-9]'#

 

or '문자와 순자'='문자와 숫자'#

 

문자와 숫자의 집합을 지정을 하는 것 입니다.

 

 

 

 

pcre:"\[a-zA-Z0-9]\" 로 시작한다.

 

alert tcp any any -> 192.168.1.24 80 (msg:"sql injection"; pcre:"\[a-zA-Z0-9]\"; sid:0001;)

 

 

 

 

만약에 

다른것도 탐지하고 싶다 그러면

 

 

 

 

 

 

결론=================

 

 

 

 

 

 

' or '모든 문자와 숫자'='모든 문자와 숫자'#

(sql injection 공격 ' 만 정규표현식에 탐지되도록)

 

url 인코딩을 하면

' => %27

 

%27 을 두개로나누면

 

%     =>   \%

27    =>   [0-9]{2,2}         2자리만 올수있다       

 

 

' = >   \%[0-9]{2,2}

 

 

 

 

' 하나만입력을해줘도 탐지가됩니다.

 

 

 

칼리에서

vi snort-2.9.17/local.rules

 

 

alert tcp any any -> 192.168.1.24 80 (msg:"sql injection"; pcre:"/\%[0-9]{2,2}/"; sid:0001;)

(snort 룰)

이렇게해도 가능합니다.

 

 

 

 

snort -q -A console -c /root/snort-2.9.17/local.rules
(탐지)

 

 

 

 

 

 

 

=====================================

 

' or '1'='1'# 

 

 

이걸 정규표현식으로 탐지하려면

 

 

 

 

 

 

 

 

 

 

 

 

=================================

 

정규표현식.

 

 

//                      는 패턴의 시작과 끝

 

i                         는 대소문자 구분 x

^[0-9a-zA-z]           ^는 시작을 뜻하며, 숫자또는 문자로 시작

[-_.]?                      -_. 이 있을수도 있고 없을수도 있다

 

([-_.]?[0-9a-zA-Z])*     는  최소 0번이상 존재

 

[a-zA-Z]{2,3}  알파벳이 최소2자리, 최대 3자리

 

 

 

^ 문자열 시작                  ^ab 는 ab로시작  또    [^ab] 는 a,b,ab를 제외한 문자열

 

$ 문자열 끝                 ab$ 는 ab로 끝나는 문자열

 

. 임의의 문자 1개           a.b$ 는  aCb 

 

| or 연산                              (a|b)c  는 ac, bc

 

?    0또는 1              abc? 는 abc, ab

 

*    0이상                   ab*c 는 ac,abc,abbc

 

+   1이상                   ab+c 는 abc,abbc

 

{}    범위                   ab{2} 는 abb, ab{2,} 는 abb ....       ab{2,4} 는 abb-abbbb

 

[]    문자집합               a[bc]d 는 abd, acd

 

 

 

 

 

\   excape(원래의미 /반대모양이다.키보드에없어서 저거씀)     0\.0\.0\.0 -> ip주소로 해석

 

. 을 진짜 문자로 쓸떄 \ 랑같이 쓰는것입니다. 

 

 

 

 

 

 

 

 

 

\%27\+or\+\%27[0-9a-zA-Z]{1,}\%27\%3D\%27[0-9a-zA-Z]{1,}\%27

'or'='1'='1'

' =        \%27

 =        \+

or=        or

1=        [0-9a-zA-Z]{1,}

{1,}        = 최소 1글자이상

= =         \%3D

 

' or '1'='1'#, ' or '1'='1'--

\%27\+or\+\%27[0-9a-zA-Z]{1,}\%27\%3D\%27[0-9a-zA-Z]{1,}\%27(\%23|\-\-)

 

 

 

=========================================

 

 

 

<script>alert("a")</script>

 

< 3C >3E

%3Cscript 만 하는 이유 <script src 같은걸 못막음

nocase 는 <SCRipt 같은걸 못막기때문

alert tcp any any -> any 80 (msg:"xss"; content:"%3Cscript"; nocase; sid:0001;)

 

 

 

 

 

 

======================================

 

Onmouseover="alert(document.cookie)"

 

 

쿠키값을 따게만드는거 탐지

 

alert tcp any any -> any 80 (msg:"xss"; content:"document.cookie"; nocase; sid:0001;)

 

.은그대로들어감

 

 

 

 

저작자표시 비영리 변경금지 (새창열림)

'공격기법 및 탐지' 카테고리의 다른 글

xplico 설치  (0) 2021.01.11
sql injection 탐지  (0) 2021.01.11
내부망 원격 접속시도  (0) 2021.01.11
telnet 접속 탐지,bruteforce 공격 탐지(무작위대입공격), slow read dos 공격 탐지  (0) 2021.01.08
snort 문법정리해서 다시해보기  (0) 2021.01.08
'공격기법 및 탐지' 카테고리의 다른 글
  • xplico 설치
  • sql injection 탐지
  • 내부망 원격 접속시도
  • telnet 접속 탐지,bruteforce 공격 탐지(무작위대입공격), slow read dos 공격 탐지
taktaks
taktaks
보안 연습 일기장입니다. 모든 연습은 불법적인 용도로 사용하지 말아주시길 부탁드립니다. 용무는 wndudxkr2005@gmail.com 메일 부탁드립니다.
  • taktaks
    taktaks
    taktaks
  • 전체
    오늘
    어제
    • 보안 일지 (280)
      • 네트워크 구축 (12)
      • 리눅스 보안구축 (10)
      • 파이썬 기본 (11)
      • Web hacking (39)
      • 통합 인프라 보안 (41)
      • 공격기법 및 탐지 (33)
      • 악성코드 및 포렌식 (93)
      • 리버싱 (5)
      • 시스템 해킹 (20)
      • C 언어 (12)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      프롯
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    taktaks
    sql injection 공격 탐지 , 정규 표현식을 이용한 탐지
    상단으로

    티스토리툴바