728x90
제공된 php 코드를 살펴보면 다음과 같다.
현재, 필터링 되어있는 아이디는 두 개로
guest / guest
blueh4g / blueh4g1234ps 인데
해당 php 코드를 살펴보면 id의 대소문자를 구분하는 필터링이 존재하지 않는다
따라서 guest를 Guest 등으로 바꿔 필터링을 우회할 수 있다.
<?php
if (isset($_GET['view-source'])) {
show_source(__FILE__);
exit();
}
/*
create table user(
idx int auto_increment primary key,
id char(32),
ps char(32)
);
*/
if(isset($_POST['id']) && isset($_POST['ps'])){
include("./lib.php"); # include for $FLAG, $DB_username, $DB_password.
$conn = mysqli_connect("localhost", $DB_username, $DB_password, "login_filtering");
mysqli_query($conn, "set names utf8");
$id = mysqli_real_escape_string($conn, trim($_POST['id']));
$ps = mysqli_real_escape_string($conn, trim($_POST['ps']));
$row=mysqli_fetch_array(mysqli_query($conn, "select * from user where id='$id' and ps=md5('$ps')"));
if(isset($row['id'])){
if($id=='guest' || $id=='blueh4g'){
echo "your account is blocked";
}else{
echo "login ok"."<br />";
echo "FLAG : ".$FLAG;
}
}else{
echo "wrong..";
}
}
?>
플래그 얻기 성공
728x90
'정보보안 공부 > CTF(해킹)' 카테고리의 다른 글
[Dreamhack] Basic_Crypto1 (0) | 2023.08.12 |
---|---|
[Dreamhack] SingleByteXor (0) | 2023.08.12 |
[DreamHack] error based sql injection (0) | 2023.04.07 |
[withCTF] 거래 조건 알고 있잖아요? (0) | 2023.01.15 |
[withCTF] 저는 당신의 생각을 알고 있습니다. + exif 정보 (0) | 2023.01.15 |