web_security 51

robots.txt 란?

네 안녕하세요. Godhaword 입니다. 문제를 풀다가 bot이나 로봇 같은 힌트가 나오면 주소창에 아무 생각 없이 /robots.txt를 쳐보는 습관이 생겼습니다. 그렇게 하면 문제는 풀리더라고요. 하지만 그 원리나 robots.txt 가 무엇을 뜻하는 지는 아직도 몰라 이렇게 공부하며 글을 남겨봅니다.(ctf 기준 50~100점 문제에 로봇 문제가 있고, 그 문제는 그냥 robots.txt 넣으면 문제는 풀립니다.) 목차는1. 정보노출 취약점이란?2. 정보노출 취약점이 발생하는 이유3. 정보노출 취약점을 공격하는 방법4. 정보노출 취약점 공격 예제 (3번과 4번은 한 번에 설명해드리겠습니다.)5. 정보노출 취약점을 보완하는 방법 순으로 가겠습니다. 1. 정보노출 취약점이란? robots.txt 파일..

web_security 2020.02.15

XSS (Cross Site Scripting) 란?

네 안녕하세요. Godhaword 입니다. CTF나 wargame에서 XSS문제를 만나면 공부해볼까? 생각하다가 복잡한 RCE문을 보고 그냥 내려놓기 다반사였는데요. 이번에 한 번 천천히 공부해보기로 했습니다. 자료조사 하기전에 이해가 안 갔던게 아는 분들한테 XSS 관련 글에서 중요한 게 있냐 물어봤더니 " 테스트 할 때, 파이어폭스로 하세요. 크롬에선 스크립트는 안막지만 끼워넣는 스크립트 삽입은 막아요" 라는 말이였습니다. "? 그럼 제가 공격일 때 크롬이 불리하단거죠?" " 공격은 관련 없고 피해자가 크롬이면 불리하죠" ... 약간 뇌정지 왔었습니다. 제가 지금까지 하던 SSTI, R(L)FI, SQL Injection 등등 서버나 데이터베이스에 악의적인 공격을 하는 것이였어서, '아... 모지....

파일 업로드(File-Upload) 취약점이란?

네 안녕하세요. Godhaword 입니다.오늘 다뤄볼 주제는 파일 업로드 취약점입니다. 조사 및 정리를 하다보니 RFI, LFI랑 비슷했는데요. 개인적인 느낌이라면 LFI, RFI는 집을 털때 굴뚝으로 들어가는 느낌이고, 파일업로드 취약점은 문 뿌수고 들어가는 느낌이 옵니다.목차는1. 파일 업로드 취약점이란?2. 파일 업로드 취약점이 생기는 이유3. 파일 업로드 취약점을 공격하는 방법4. 문제 예제5. 파일 업로드 취약점을 예방하는 방법 이렇게 나가겠습니다. 문제는 3가지 문제를 예로 들텐데.. 마지막 한 문제 때문에 오래 걸렸습니다.. 1. 파일 업로드 취약점이란?파일 업로드 기능을 사용하여 공격자가 원하는 웹 쉘을 해당서버에 올려 저희가 원하는 행동을 취할 수 있게하는 취약점입니다.(또 습관적으로 인..

2019-09-15 RFI 끄적끄적

1. system('실행하는 코드'); 하면 뭐 되길래 ls whoami 이런 간단한 명령문 넣어보려함. 하지만 위 사이트는 system()를 필터링하는 것 같음코드도 원래는$godhaword=실행문echo $godhaword로 했으나 그냥 그럴꺼면 echo 실행문 적어도 될꺼같아서 코드를 변형해봄;같은거 안쓰면 저렇게 parse error가 뜸? 뭘 검색한거지 아마 ls 를 검색한거같음이 코드를 넣어도 무난히 작동은함근데 왜인지 echo 위에 엔터 안누르면 에러가 뜸base64 인코딩 된것의 마지막이 ==으로 되면 인젝션? 성공이고 아니면 실패 다른 예가 더 있어야 base64 뒤에 기호가 성공루틴인지 알 수 있을 꺼 같음 조만간 system() 말고 다른 함수 삽입 방법 알게되면 더 써볼 예정

RFI(Remote File Inclusion) 란?

네 안녕하세요. Godhaword 입니다. RFI는 LFI와 상당히 비슷한데 악성 스크립트를 공격자가 만들어서 서버에 전달한다는 점이 좀 다릅니다. 목차는 1. RFI 란? 2. RFI 가 작동하는 원리 3. RFI 를 하는 방법 4. RFI 예제 5. RFI 를 막는 법 RFI와 LFI가 기본적인 부분은 비슷하기에 여기서 부족한 설명은 LFI 글에서 더 참고 하시면 될 것 같습니다. 1. RFI 란?Remote File Inclusion, 즉 원격으로 파일을 포함시키는 공격입니다. Q : 뭔소리냐 A : 공격할 서버에 php 파일을 업로드 할 수 있고, 그 php 파일을 저희가 수정 및 제작해서 올릴 수 있으면 RFI 공격이 가능해진단 겁니다. 공통점이라하면 사이트가 get이나 post 부분에 적절한 ..

LFI(Local File Inclusion)란?

네 안녕하세요. Godhaword 입니다. 일단 즐거운 추석되세요 꾸뻑(__) 오늘은 Local File Inclusion (이하 : LFI 또는 lfi)에 대해서 알아보겠습니다. 맨날 LFI 문제만 나오면, =flag.php, flag.txt, ../../../../etc/passwd 까지만 쳐보고 긁적긁적 하다가 다른 web문제로 넘어가곤 했는데요. 이번에 기회가 되어서 한 번 다루어보게 되었습니다. 저도 아직 공부하는 단계라 예제 문제로 보여드릴 문제 푸느라 포스팅이 약간 늦춰졌습니다. LFI 친구인 RFI 는 시간이 좀 더 걸릴 수 있으나 최대한 빨리 포스팅 하겠습니다. 목차는 1. LFI 란? 2. LFI 가 작동하는 원리 3. LFI 를 하는 방법 4. LFI 예제 5. LFI 를 막는 방법 ..

SSTI란?

네 안녕하세요. Godhaword입니다. 이번에 쓸 글은 SSTI, Server-Side Template Injection 입니다. 목차는 1. Server-Side Template 을 사용하는 이유 2. Server-Side Template 의 취약점 3. Server-Side Template Injection 을 하는 방법 4. 예제 문제 풀이 순으로 쓰겠습니다. 1. Server-Side Template 을 사용하는 이유일단 설명에 앞서 정적 웹 페이지와 동적 웹 페이지가 무엇인지 알아두셔야 왜 SSTI를 사용하는지 더 쉽게 이해 가능합니다.정적 웹 페이지는 서버에 저장된 정보들을 그냥 보여주는 페이지고, 동적 웹 페이지는 서버에 있는 정보를 스크립트를 이용하여 한 번 가공하여 유저에게 보여주는 웹..

[wargame.kr] strcmp

학기 중이라 바빠서 라이트 업을 자주 못 썼네요... 슬슬 종강도 다가오고 시간도 남으니 라이트 업 다시 적어보도록 하겠습니다. 일단 이 문제에 접근하기에 앞서 strcmp 가 무엇인지 알아야 합니다. 이 문제를 풀 당시에만 해도 파이썬만 주구장창 공부하던터라 c관련 함수는 잘 몰랐었는데요. string 해더를 선언해주고, strcmp에 두가지의 문자열을 입력하면 두 문자열의 아스키 코드 값의 차를 -1,0,1 중 하나로 표현해줍니다. 그렇다고 해서 소문자에서 대문자를 빼면 무조건 -1 인가 찾아봤는데 그건 또 아니라고 하더군요.. 두 문자열이 같으면 0이 나옵니다. 이렇게 strcmp 의 사용 방법을 알았다면 문제로 들어가봅시다. 일단 입력창이 있고, 입력창은 text 타입이며, password라는 명..

[wargame.kr] 4번 login filtering 문제 풀이

wargame.kr 이 가장 재밌지 않나요? 필터링 스펠링 까먹어서 밑줄 친거 그대로 나왔네요..나는 계정을 갖고 있지만 막혔어. 필터링을 우회해서 로그인을 할 수 있겠니? 음... ㅇㅋ ㄱㄷ ? 힌트로 아이디랑 패스워드를 줘버리네요... 개 쉬운 문제인가 소스코드도 한 번 봅시다. ID PW get source 여기서 중요한 부분은 딱 한 부분입니다. if(isset($row['id'])){ if($id=='guest' || $id=='blueh4g'){ echo "your account is blocked"; }else{ echo "login ok"." "; echo "Password : ".$key; } row 에 id 값이 있을 시 guest 나 blueh4g 이면 blocked 되고 아니면 키를..

[webhacking.kr] 4번 문제 풀이

webhacking.kr 은 복호화 문제가 자주 나오며, php 문이 궁금할 때 뒤에 /index.phps 를 쳐주면 대부분 문제에서 php문을 보여줍니다. 음.... 빠르게 갑니다. 일단 이런 문제를 푸는 방법은 두 가지가 있습니다. 1. 패턴을 외운다 2. 글자 수를 세본다 일단 1번으로 먼저 접근하면 뒤에 == 이 붙은건 base64 로 암호화 되있는 글이 대체로 그렇습니다. webhacking.kr 내에 있는 복호화 툴을 쓰니 바로 flag값 같은게 나오네요. 감사링~ 입력하고 제출하면? 아닌가봅니다. 일단 base64 까지는 맞았을꺼라 생각하고 2번째 방법인 글자 수로 가보겠습니다. 40byte네요. 40byte의 암호문은 sha 로 암호화 되었을 가능성이 큽니다. 160bit 의 암호문은 많으..

[suninatas] 4번 문제 풀이

날씨가 너무 덥네요... 진짜 더워요... 일단 문제에 들어가시면 이런 창을 보실 수 있습니다... plus가 가장 이 문제를 푸는데 핵심 같으니 한 번 눌러줍시다. hmmmmm..... 일단 개발자 도구창을 보니 point to 50 즉 50점을 찍으라해서 plus를 누르니 저기 위에 0이던 숫자가 1씩 커졌습니다. 그런데 25 에서 올리려다보니.. 이런 alert 와 함께 올라가지 않네요.. 여기서 드는 생각은 별로 없습니다..(더워서 그런 것 일수도 있습니다.) 1. 개발자 도구창의 슬롯을 내 맘대로 바꾸어보자. 일단 저 point 값의 숫자가 50이 되는게 중요한지 현 상황이 50이 중요한 건지 모르기에 49로 한 번 50으로 한 번 해보겠습니다. 49 전과 같은 alert 가 뜨고 다시 25로 ..

[webhacking.kr] 3번 문제 풀이

어... 음... 일단 제가 아직은 보안 해킹 관련은 초보이기 때문에 모든 문제를 다 풀지는 않았습니다. 모르는 문제가 있어도 바로 풀이를 보는게 아니라 근처 지식을 물어보거나 뺑 둘러서 검색해보기에 문제 푸는 속도 또한 느립니다. 그래서 1번,2번,3번 .... 이렇게 쭉 푼게 아니라 제가 풀 수 있는 문제만 푼 것이기에 띄엄띄엄 풀이를 쓸 예정입니다. 추후에 풀게 되면 바로 풀이를 올리겠습니다. ... 모지... 스도쿠임을 암시하는 것인가...일단 이상하게 생긴 격자무늬의 사각형이 있습니다. 스도쿠도 아니네요. 몇몇 네모들은 클릭 시 색칠이 가능합니다. 대충 색칠하고 gogo를 눌러봤습니다. 아니라네요. 일단 대충 위에 있는 숫자들의 배열과 옆에 있는 숫자들의 배열을보니 이 칸에는 몇개가 들어간다....

[webhacking.kr] 회원가입하기

네 안녕하세요. 맨날 던파 글만 쓰다가 최근에 흥미를 가져 웹 보안에 관련된 wargame 공략도 적어보려합니다. 다른 곳에도 라이트 업은 많으나 몇 가지 툴이나 설명이 제가 볼 땐 이해가 안되어서, 저 방식대로 제가 푼 방법으로 쉽게 적어 보겠습니다. 문제 풀 때 혼자 고민할 때 쓰이는 용어가 몇몇 들어갑니다. 설명 붙여 놓으니 봐주시길 바랍니다. 일단 첫 날 이니까 간단하게 회원가입 하시는 방법부터 일단 webhacking.kr 에 들어가시게 되면 입력창이 두개가 보이고, 그 옆에 로그인이라고 적힌 것이 보입니다. 회원가입 관련된 글자는 안보이는데요. 일단 이런 wargame을 풀 때, 뭔지 모르겠으면 일단 f12를 눌러 개발자 창에서 소스와 구성요소를 봅니다. 이렇게 보시면 일단 element 창에..

[wargame.kr] 3번 flee button 문제 풀이

문제 풀이 라이트업을 적는 이유는 첫 번째가 복습을 위해서 이고, 두 번째가 저 보다 더 wargame 뉴비이신 분들을 위해 제 눈높이로 풀이를 적는 것입니다. 그렇다고 해서 문제 보자마자 해설 보는 건 실력 향상에 늘지 않으므로 나중에 보시는 것을 추천 드립니다.(+ 저는 어렵게 풀었는데... 보고 쉽게 푸시면... 배가 아파요..) 문제가 아주 간단해 보입니다. 버튼을 누르면 된답니다. ? ?? 버튼이 마우스를 피해서 막 돌아다닙니다. 터치가 되는 노트북이라 빠르게 버튼을 눌러봤는데도 피하더군요. 버튼도 일단 페이지 구성 중에 하나라고 추측되어 개발자 관리 창을 열어 자세히 버튼에 대해 알아봅시다. 이렇게 마우스를 움직일 때 마다 저렇게 보라색으로 반짝 반짝 하면서 부각이 되네요. 저 부분이 저 버튼..