전체 글 (57) 썸네일형 리스트형 webhacking.kr 26번 문제 풀이 webhacking.kr 26번 문제 풀이 index.phps 를 확인합니다. Get 파라미터를 사용해서 id 값을 받습니다. 확인해 보면 admin 이라는 단어를 필터링 하고,urldecode 해서 값이 admin 이면 sovle를 줍니다. 하지만 영어와 숫자 들은 url encoding 을 해도 바뀌지 않습니다. 제가 여기서 해결한 방법은 핵스 인코딩을 하고 다시 url encoding을 하는 방법입니다. 일단 admin 을 hex encoding 하면%61%64%6D%69%6E입니다. (이걸 id 값에 넣어보면 no hack 이 뜨겠죠?) 즉 핵스로 변환해도 평문과 같은 역할을 한다는 겁니다.이걸 이요해서 헥스로 변환된 admin 값을 url encoding 해줍니다.%2561%2564%256D%2.. web hacking.kr 23번 문제 web hacking.kr 23번 문제 풀이 xss 를 하기 위해 확인하는 를 입력하는 문제입니다. 여러번 입력을 하다 보면 문자열이 입력 되면 no hack을 출력합니다.즉 일정 문자를 필터링 하는것이 아니라 문자가 이어져 나오는 즉 문자열을 필터링 한다는 것을 알 수 있습니다. 이 필터를 우회 하는 방법으로는 %00 이 있는데요 null 값을 문자와 문자사이에 넣어주면 됩니다.html 에서는 %00 을 인식 하지 못하고 필터에서는 %00 을 인식해서문자열이 아닌걸로 인식 하는것 같습니다. http://webhacking.kr/challenge/bonus/bonus-3/index.php?code=%3C%00%00s%00c%00r%00i%00p%00t%00%3E%00a%00l%00e%00r%00t%00(.. los orge los 7번 (oreg)풀이 입니다. 소스 코드의 필터링은 크게 or and 를 제외 하면 문제가 될 만한 것은 없습니다. 소스코드를 보면 첫번 째로 쿼리를 날려서 반환값이 참이면 해당 아이디를 출력해줍니다. 이 부분을 이용해서 blind sqlinjection을 시도하면 되겠습니다. 반환 값이 참이기 때문에 ('1') 게스트라는 아이디를 출력해 줍니다. (or 우회 ||) 앞의 (id='guest' and pw='1') 을거짓으로 판단하게하고 || 을 수행하는 쿼리문 입니다. 블라인드 인젝션의 한 방법으로 %를 이용 했습니다. 이렇게 한글자씩 유추해 가면서 pw를 찾으면 됩니다. 참고로 (pw는 8글자 입니다.) pw 8글자를 다 찾으셨으면 pw=에 넣어주시면 됩니다.(참고로 &&를 url에 입력할 때.. LFI & RFI - 웹 해킹 입문 - 책 내용의 부분을 공부한 내용입니다. (출처 아래)- LFI & RFI는 Local과 Remote에 대한 File Inclusion(파일 포함)을 말합니다. LFI와 RFI 를 이용하여 웹 서버에 악성 코드를 넣는 기법이다. 가장 대표적인 PHP의 include 함수이다.이 함수의 역할은 특정 파일을 포함시켜 스크립트를 실행한다. 제 생각에는 LFI 는 서버에 존재하는 파일을 실행시키는 방법 같습니다. 책을 읽었을 때에는 파일을 업로드 하는 건 줄 알았습니다. file inclusion은 파일을 포함시켜 취약점을 공격하는 기법이다.로컬 파일 업로드 LFI (Local FIle Inclusion)원격 파일을 부르는 업로드 RFI (Remote File Inclusion) LFI 공격 .. los darkelf los 6번 (darkelf) 풀이 쿼리를 분석해 보면 저번 문제들과 같은 유형이지만, 여기서는 or and를 필터링 합니다.google에 찾아보면 or 과 and를 우회 하는 방법이 나와 있습니다.저는 ||를 사용해서 or 을 우회 했습니다. pw=1' || 1%23를 입력해보면 Hello guest를 출력 합니다.그러므로 || 는 필터링 되지 않고 or로 인식된 겁니다. pw=1 || id='admin'이라고 입력 한다면 쉽게 풀립니다. los wolfman los 5번 (wolfman) 풀이 쿼리를 해석해 보면 기존의 쿼리와 동일한데 공백을 필터링 하고있습니다.그러므로 공백을 우회 해야하는 문제 입니다. 공백을 위회하는 방법은 google에 검색 해보시면 여러 방식이 있습니다.대표적으로 + 가 있는데요 +는 해봤는데 안되더라구여 제가 성공했던 방법은 %09입니다%09는 hex로 tab 을 의미합니다.공백이 space만 되는 걸로 저는 생각했는데 ㅎ 텝도 되는 거 같습니다. (pw=-1 ' or id='admin) pw=-1%27%09or%09id=%27admin 공백을 %09로 바꾸어준 것입니다. los orc los 4번 orc 문제 풀이 이번 문제는 블라인드 인젝션 문제입니다. php를 보면, 필터는 많이 없습니다. 크게 신경 쓰지 않아도 됩니다.첫 번째 query를 보면 id=admin pw=$_GET[pw]를 받아 반환 값이있으면 id 를 출력 해줍니다. 또한 진짜 일치하는 비밀 번호를 입력해야 하는 조건이 있습니다.(result['pw']) && (&result['pw']==$_GET['pw'])) 블라인드 인젝션인지도 모르고 많이 헤매인거 같습니다. 이 문제에서 사용할 블라인드 인젝션은 %를 사용합니다. %는 뒤에 어떤 문자가 상관 없이 select 해줍니다. select id from prob_orc where id='admin' and pw='1' or id='admin' and pw = '2%'.. xss를 이용한 session 탈취 1. 준비물탈취한 cookie를 받을 서버 xss 취약점이 발생하는 웹 사이트 (저는 제가 구축 했습니다.) 1. xss 취약점 test 를 입력한다. 1) 해당 게시글을 눌렀을 때 2) xss 취약점의 발생하는지 확인 한다. (정상적을 발생) 본격적 session (cookie 정보) 탈취 게시글을 다시 작성하고 위의 script 문은 자신이 원하는 서버에 cookie값을 전송줍니다. 서버에서의 처리 cookie 값을 받는 php 파일 (예시에서는 aaaa.php)$cookie=$_GET[cookie] --> get 방식으로 cookie를 전달해주므로 cookie 값을 받아 $cookie 변수에 저장해준다. $save_file=fopen("경로 ","w") 서버 안에 받아온 cookie 값을 저장해줄 .. 이전 1 ··· 4 5 6 7 8 다음