본문 바로가기

웹해킹8

[웹해킹] # 파일 인클루젼 공격 파일 인클루젼 공격 파일 인클루젼 공격 : 주로 PHP application을 대상으로 발생한다. ? PHP에 존재하는 include 함수는 다른 파일을 소스 코드에 직접 include할 수 있는 기능으로 Include할 파일을 외부 사용자가 설정할 수 있는 경우 파일 인클루드 취약점이 존재하게 된다. 파일 인클루젼 공격의 종류 > LFI (Local File Inclusion, 로컬 파일 인클루젼) 공격 대상의 서버에 있는 파일을 include하여 공격한다. > RFI (Remote File Inclusion, 리모트 파일 인클루젼) 외부 서버(주로 공격자가 관리하는)의 악성 코드를 include하여 공격한다. 웹 어플리케이션이 file.php를 인클루드 -> 이때 웹 요청의 page 파라미터를 통해 .. 2020. 11. 12.
[웹해킹문제풀이] # webhacking.kr 워게임 18번 처음에 들어가면 이렇게 나와 있어서 일단 임의의 값으로 흔히 쓰는 1을 입력해보았다. 그랬더니 hi guest라고만 출력되고 아무말이 없다. 그래서 다른 임의의 값 9를 입력해보았다. 아무런 변화가 없다. 이때 알았어야 했는데!!! 보다시피 캡처도 URL을 빼고 캡처한 걸 보면 알겠지만 URL이 중요하다고는 생각도 못했다ㅋㅋ 아무튼 계속 해보자. 앞서 배운 가장 기본이 되는 SQL쿼리 조작 문장인 1' or '1'='1 을 입력해보았다. 좀 배운건 뭐든 써봐야 직성이 풀리는 성격 우왕 뭔가 색다른 문장이 나온다. no hack 뭔가를 더 알아내기 힘들다고 판단 source코드를 보러갔다. 소스 코드를 볼수 있는 버튼은 하단에 연두색으로 있다 내가 중심적으로 볼 건 페이지 디자인이 아니므로 php문만 캡처.. 2020. 10. 4.
[웹해킹] # sqlmap 자동화 공격 * sqlmap 프로그램 : SQL인젝션 공격 프로그램 중 가장 대중적으로 사용되며, 오픈 소스 프로젝트이다. 이 프로그램을 이용하여 SQL 인젝션을 자동 공격하고 원하는 정보를 탈취한다. 1) 칼리 리눅스의 좌측 상단 아이콘을 누른 후 -> 3.Web Application Analysis를 선택 -> sqlmap 선택 OR 2) 터미널에 명령어를 입력하여 실행 가능 (sqlmap -h를 입력하면 사용법과 옵션 확인 가능) # sqlmap 프로그램 옵션 알아보기 -u : 필수 옵션으로 공격을 시도할 URL 을 지정 --cookie : 로그인이 필요한 경우, 로그인하고 난 다음 발급된 세션 .. 2020. 10. 3.
[웹해킹] # 블라인드 SQL 인젝션_level.low 일반적인 쉬운 SQL인젝션은 정상적이지 않은 입력에 대해 사용자에게 쿼리문 오류를 출력한다던지 쿼리 조작문에 대한 결과가 나와 정보를 캐낼 수 있는 반면, !!! 비정상적인 입력에 대해 별다른 오류도 나지 않고 어짜다 SQL 쿼리문을 사용함을 알게되어 조작하여도 사용자의 정보를 화면상으로 출력하지 않기 때문에 일반적인 SQL 인젝션으로는 정보를 캐낼 수가 없는 경우가 있다. 이럴때, SQL 쿼리문을 사용하고 입력값에 따라 id의 존재 유무를 알려주는 결과가 달라짐을 확인할 수 있다면 블라인드 SQL 인젝션 공격을 실행한다. 실습을 통해 알아보자. 우선 실습 환경 준비! dvwa에 들어가서 보안레벨을 low로 설정한 뒤 블라인드 SQL 창으로 들어가자. 우선 블라인드SQL인젝션 실습에 들어가기 앞서 일반적.. 2020. 10. 3.
[웹해킹] # SQL 인젝션 SQL인젝션은 웹 공격 중에 가장 잘 알려져 있는 공격으로 가장 심각한 리스크의 공격으로 선정된 인젝션 리스크의 대표적인 공격이다. SQL인젝션 : 공격자가 데이터베이스에 전송되는 SQL쿼리문을 조작하여 데이터를 변조하거나 허가되지 않은 정보에 접근. # WHERE 구문 우회 - WHERE구문 : WHERE 이하의 구문을 만족하면 쿼리문을 실행한다. ex) SELECT first_name, last_name FROM users WHERE ID='1' //id=1 이 참이면 first_name과 last_name의 목록을 가져와라. 이런 WHERE문의 성격을 이용하여 정보를 캐낸다. - WHERE 구문 우회 : WHERE의 조건이 항상 참이 되도록 퀴리를 조작하여 무조건 정보를 출력하도록 한다. 입력값 :.. 2020. 10. 3.
[웹해킹문제풀이] # webhacking.kr 워게임 26번 소스 코드를 보여준다고 하니 view source 를 눌러보자 if(preg_match(“/admin/”, $_GET[‘id’])) {echo”no!”; exit(); } >> 가장 먼저 preg_match 라는 명령어로 admin이라는 단어를 걸러내고 있음을 알 수 있음 하지만..가장 마지막 명령을 보면 If($_GET[‘id’]==“admin”) { solve(26);} 이므로 이 문제를 푸는 핵심 단어가 admin임을 알 수 있다. $_GET[‘id’] = urldecode($_GET[‘id’]) ; >> GET형식으로 받은 id값을 urldecode()를 통해 변호하여 다시 대입해놓는다. 이제 단순히 admin이라는 단어를 url 인코딩하면 될 것 같지만 그럼에도 문제는 해결되지 않는다. 왜냐! .. 2020. 10. 2.
[웹해킹문제풀이] # webhacking.kr 워게임 4번 소스 코드를 보여준다고 하니 view source 를 눌러보자 $hash = rand(10,000,000, 99,999,999) . “salt for you”; >> 해쉬값에 10,000,000 부터 99,999,999까지의 수 중 하나에 salt for you라는 문장을 덧붙인 값을 대입한다. $_SESSION[‘’chall4’] = $hash; >>Chall4의 세션키를 hash에 저장된 값으로 설정 for($i=0; $i> 해쉬에 저장된 값을 sha1로 암호화하고 다시 그 값을 hash에 대입 워게임 4번을 풀려면? Sha1은 복호화가 가능하지 않은 단방향 암호이다. 따라서 우리는 가능한 모든 가지의 경우의 수를 마찬가지로 500번 복호화하여 문제에서 준 암호값과 같은지 비교하여야 한다. 즉 10,.. 2020. 10. 2.
# 칼리리눅스 갑자기 안열림 + 칼리리눅스 2020 로그인 + 인터넷 연결 원래 몇달 전에 칼리리눅스 2019ver로 깔아서 열심히 실습했었는데 다음 주가 동아리 발표라 오늘 발표 자료 만드려고 키니까 갑자기 에러났다고 안열린다.. 왜!!!!!!!!!!!!!!! 나 이틀전인가 어제 새벽인가에도 열었는데!!!!!!!!!!!!!!!!! 아까 너무 짜증나서 캡처할 생각도 못했어서 그냥 복사해둔 메세지만 쓴다...(다시 되돌릴 순 없더....) 가상 머신 Kali-Linux-2019.1-vbox-amd64의 세션을 열 수 없습니다. The virtual machine 'Kali-Linux-2019.1-vbox-amd64' has terminated unexpectedly during startup with exit code 1 (0x1). More details may be avail.. 2020. 9. 27.