본문 바로가기

전체 글193

[JAVA] 06. continue + break 지난번에 반복문을 정리하면서 반복문의 흐름을 바꿀 때, 특히 무한루프에서 continue 와 break 을 활용한다고 했다. 이번에는 continue 와 break 을 활용을 자세히 보자. # break 하나의 반복문을 탈출할 때 사용한다. 반복한다 특히 무 한 루 프 에서 many 활용 # continue continue문은 반복문을 빠져나가지 않으면서 다음 반복으로 넘어가고 싶을 때 사용한다. 무슨말인지 감이 잘 안 올텐데 에제를 보며 언 주로 활용하는지 알아보자. 오늘 활용할 예제는 사용자가 주문을 그만하겠다는 보기를 고를때까지 메뉴판을 반복적으로 보여주는 무한 반복문이다 break와 continue을 활용하여 코드를 구성해보자. 먼저 continue를 활용함에 중심을 두고 코드를 짰다. conti.. 2020. 10. 5.
[웹해킹문제풀이] # 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.
[JAVA] 05. 반복문 for + while + do-while 접은 글이 더보기로 보이는 줄은 몰랐는데 ㅋㅋㅋㅋㅋㅋㅋㅋ티스토리의 길은 멀고도 멀구나...ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ ...................................................................................................................................................................................................................................................어떤 결과를 도출 할 때 같은 코드 혹은 숫자만 다른 똑같은 연산을 반복해야 할 때가 있다.같은 문장을 여러번 쓰면 손만 아프고 비효울적이니까 이럴땐 반복문을 사용한다.. 2020. 9. 25.