목록문제풀이 (40)
Oh! JUN
보호되어 있는 글입니다.
문제 파일 다운로드해서 app.py 코드 확인해보면 'admin', 'select' 를 포함한 여러문자를 필터링 하는것과 쿼리를 확인할 수 있다. uid가 'admin'이면 flag.txt 파일에 있는 FLAG 값을 구할 수 있다. 가장 먼저 생각이 난것은 'admin'이 필터링 되니까 char() 우회방법을 생각했다. 'admin' char(97)||char(100)||char(109)||char(105)||char(110) 오랜만에 해서 감 다 잃었는지 처음에 아래와 시도를 했다.(다음부터 그러지마) 시도한 쿼리 SELECT uid FROM users WHERE uid='char(97)||char(100)||char(109)||char(105)||char(110)||char(39)--' and upw..
문제설명 Exercise: Blind SQL Injection Advanced에서 실습하는 문제입니다. 관리자의 비밀번호는 "아스키코드"와 "한글"로 구성되어 있습니다. Query를 보니까 DH{**FLAG**} 여기 FLAG 값을 구하면 된다. 먼저, FLAG의 길이를 구해보자 FLAG 값은 27자인거 알았다. 이제 blind_Sql Injection 공격으로 FLAG값을 알아볼것이다. FLAG가 위치한 레코드의 uid='admin'이니까 select upw from users where uid='admin' 한글자씩 아스키코드로 변환해서 비트추론할 것이다. 다하기는 오래걸리니까 글자하나만 수공업으로 하고 나머지는 python으로 코드짜서 자동화 돌리겠습니다. INPUT OUTPUT admin' and..
query : select id,pw from prob_frankenstein where id='frankenstein' and pw=''
query : select id from prob_blue_dragon where id='' and pw=''
query : select id from prob_red_dragon where id='' and no=1
query : select id,pw from prob_green_dragon where id='' and pw=''