Web Hacking

저 flag.php 를 읽으면 된다.처음 flag.php에 접속하면 아무것도 뜨지 않는다.이게 read권한이 없어서 그냥 안읽히는줄 알고 php 웹쉘을 시도해봤는데 그래서 찾아보니깐 apache환경에서 .htaccess라는 파일을 사용할 수 있다고 한다..htaccess파일은 같은 폴더의 파일들에 룰을 지정? 할 수 있는 그런 apache 설정 파일이다..htaccess 파일이 은근 뭘 많이 할 수 있는데 쓸만한거 몇개 올려보겠다. 1. 파일 확장자 지정AddType application/x-httpd-php .xxx.xxx라는 파일을 php파일로 쓸 수 있다. 2. 파일 강제 실행php_value auto_prepend_file /full/path/to/prepend.php이 설정은 어떤 파일이 실행되..
admin권한을 가진 사용자로 로그인하면 되는 문제이다.#!/usr/bin/python3from flask import Flask, request, render_template, make_response, redirect, url_for, session, gimport sqlite3import hashlibimport osimport time, randomapp = Flask(__name__)app.secret_key = os.urandom(32)DATABASE = "database.db"userLevel = { 0 : 'guest', 1 : 'admin'}MAXRESETCOUNT = 5try: FLAG = open('./flag.txt', 'r').read()except: FLAG..
보호되어 있는 글입니다.
오랜만에 webhacking.kr wrietup이다 일단 이 문제는 뭐 딱히 주어진게 없어 공격 벡터 찾기가 힘들었다. 이 문제에서 주어진 페이지는 딱 두페이지 뿐이다.두페이지 모두 특별히 큰 수상한점은 없지만 굳이 찾아본다면 ip is logging하고 날짜가 주석처리로 나온다는 것이다.처음엔 ip logging으로 접근해서 user agent에 php코드도 넣어보고 했지만 모두 실패했다. 날짜는 cookie의 time값을 기준으로 나와주는 것 같은데 time 값 뒤에 and 1=1을 넣었을때와 and 1=2를 넣었을때 날짜값이 달랐다.이를 통해 True일땐 09:00:01, False일땐 09:00:00을 뱉는걸 확인 가능하다.그렇다면 딱 봐도 blind sql injection이다.하지만 db구조를..
21번 문제 iron golem이랑 비슷한 문제이다.pw를 직접 입력해줘야하기 때문에 blind sql injection을 해야 하는데 admin으로 로그인 할때의 엔드포인트가 제시되어있지 않기 때문에 Time Based 혹은 Error based를 사용해야한다.Time Based는 sleep과 benchmark둘다 필터링 되어있기에 사용하기 힘들 것 같다. 따라서 Error Based 를 사용해주어야 한다.if문이 필터링 되어있기에 or문을 사용해주었다.위와 같이 입력하면 select 1 union select 1=1일때 error가 안나고 select 1 union select 1=2일땐 error가 난다.서브쿼리에서 결과값이 두개 이상 반환되면 에러가 나는데 1=1일 경우 True 즉, 1로 반환되..
프레딕
'Web Hacking' 카테고리의 글 목록 (8 Page)