[webhacking.kr] Challenge 31 :: 포트 포워딩 1 ▼ Challenge 31은 다음과 같습니다. php의 fsockopen()을 통해 socket을 생성하여 본인 ip로 10000 ~ 10100 사이의 임의적인 포트 번호로 데이터를 보낸다는 것을 짐작할 수 있습니다. 10000 ~ 10100번 포트를 포워딩하여 한 포트로 보내주면 문제가 풀릴 것 같습니다. 네트워크 소켓(network socket)은 컴퓨터 네트워크를 경유하는 프로세스 간 통신의 종착점이다. 오늘날 컴퓨터 간 통신의 대부분은 인터넷 프로토콜을 기반으로 하고 있으므로, 대부분의 네트워크 소켓은 인터넷 소켓이다. 네트워크 통신을 위한 프로그램들은 소켓을 생성하고, 이 소켓을 통해서 서로 데이터를 교환한다. 소켓은 RFC 147에 기술사항이 정의되어 있다. [참고] wikipedia.org .. 더보기 [webhacking.kr] Challenge 27 :: SQL Injection (like) ▼ Challenge 27은 다음과 같습니다. ▼ 소스코드의 힌트를 따라 index.phps로 이동하겠습니다. 문자열을 검사해서 해당 문자열이 포함되어 있을 경우 "no hack"을 띄우고, select~ 문을 통해서 id를 출력하는 구문 입니다. 출력문이 없거나 error가 나면 "query error"가 뜨는 것 같습니다. 대충보면 잘 못 보고 지나갈 수도 있지만, no=(****) 이런식으로 괄호가 되어 있습니다. 저도 처음에는 괄호를 못 보고 한참 헤맸습니다. 1이라고 입력하고 쿼리를 전송해보니 guest가 나오는 것을 보니, guest의 no는 1이라는 것을 알 수 있습니다. 다른 숫자를 입력하면 모두 query error 가 뜹니다. ( SQL Injection기본 설명은 Challenge 1.. 더보기 [webhacking.kr] Challenge 25 :: LFI (Local File Inclusion) 취약점 ▼ Challenge 25는 다음과 같습니다. 리눅스 환경이라는 것을 알수 있습니다. ▼ URL에 ?file=hello라고 입력 되어 있습니다. "hello" 대신에 "index.php", "password.php" 라고 입력해도 아무 변화가 없습니다. 무엇을 입력해도 변화가 없습니다... 한참을 생각하다가 hello 다음에 확장자가 없는 것을 보니, 서버측 언어가 [ 파일명 + ".txt" ] 이런식으로 구성되었을 것이라고 추측을 하게 됩니다. 파일업로드/다운로드에서 확장자 우회를 막기 위한 방법이죠. 그렇다면 뒤에 ".txt"를 없애고, "password.php"가 입력되게 하면 될 것 같습니다. 구글에 확장자 우회라고 검색을 해보니, ▼ 리눅스에서는 "%00", "%zz"로 확장자를 후회할 수 있다.. 더보기 이전 1 ··· 22 23 24 25 26 27 28 ··· 34 다음