![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdau8yr%2Fbtrj2f5GD2t%2F6mPpXSc13VE3Kg0YFK66LK%2Fimg.png)
[HackerRank] Plus Minus
2021. 11. 5. 18:18
알고리즘
# Plus Minus (Warmup) [문제] [코드] void plusMinus(vector arr) { double plus = 0; double minus = 0; double zero = 0; set sorted; for(int i = 0; i 0) plus++; else if(arr[i] < 0) minus++; else zero++; } plus /= arr.size(); minus /= arr.size(); zero /= arr.size(); cout
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUxp7T%2Fbtrj2z3QfKo%2FKq9iP8ISZXlHOncINshHik%2Fimg.png)
[HackerRank] Closest Numbers
2021. 11. 5. 18:03
알고리즘
# Closest Numbers (Sorting) [문제] [코드] vector closestNumbers(vector arr) { set sort; for(int i=0; isecond; } [코드설명] 두 수의 차가 제일 작은 수들을 정렬하는 문제다. (중복 허용) 먼저 set자료구조 sort를 만들고, arr배열의 값을 insert해서 정렬했다. set자료구조 sort에서 현재 값이랑 prev 값을 빼고, 두 수의 차를 map의 key로 사용해서 동일한 차를 갖는 값들을 같은 key의 배열로 넣어줬다. map자료구조는 key를 기준으로 오름차순 정렬되므로 diffMap. begin()에서 배열을 반환했다. [채점 결과]
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FddqFhL%2Fbtrj2gWQXyR%2FABkidXxMVpX49tEOf7mWLk%2Fimg.png)
[Webhacking.kr] old-55
2021. 11. 5. 14:46
Study/Web Hacking
마우스 좌표에 따라 이미지가 이동한다. 이미지가 왼쪽 상단에 위치하게 되면 위처럼 GAME OVER alert창이 뜬다. 여기서 확인할 건 다한 것 같으니 rank를 눌러봤다. rank와 id, score 표가 있었고, 그 아래엔 DB에 관련된 정보가 노출되어 있다. score부분이 링크로 되어있어 클릭해봤다. id와 score가 뜨면서 url 파라미터 score가 추가됐다. 다른 사람들의 score를 클릭해도 똑같은 id가 출력되는 것을 보면 select 결과의 맨 위 데이터를 가져오는 것 같다. 이제 아래에 있는 php코드를 살펴보자. mysqli_query($db,"insert into chall55 values('{$_SESSION['id']}','".trim($_POST['score'])."',..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsU6Bt%2FbtrjWooRiIr%2FDg53aewO4PASmUhdsKGMoK%2Fimg.png)
[Webhacking.kr] old-34
2021. 11. 5. 14:12
Study/Web Hacking
Challenge 34에 접속하면 alert창 하나가 뜬다. alert창에는 debug me라는 문자열이 있다. Javascript 코드를 바로 살펴보자. 개발자도구를 열면 script태그에 Javascript 코드가 있다. 이대로는 코드를 보기 힘드니 JavaScript Beautifier를 사용해서 코드를 보기 편하게 바꾸자. Javascript 코드가 꽤 긴데 이걸 다 볼 수는 없다. 필요해보이는 코드만 찾아서 해석해보도록 하자. Challenge 34에 들어오자마자 alert창이 떴는데, 해당 코드를 찾아가보자. ctrl+f를 누르고 alert을 검색해봤다. 딱 하나의 검색 결과가 나왔다. if-else문에 alert이 있었는데, alert은 else일 경우에 실행된다. else 뒤에 있는 코드를..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FepP6Ml%2FbtrhdVB5VWX%2F1Nyf0zhOXD220YfN1kVEk0%2Fimg.png)
[Webhacking.kr] old-53
2021. 10. 9. 05:55
Study/Web Hacking
old-53은 소스코드 링크외에는 다른 요소가 보이지 않는다. 바로 소스코드를 확인해봤다.
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdjI5tv%2FbtrhglzOZZ9%2FrouVuJdVoKFsdSK5CEo9DK%2Fimg.png)
[Webhacking.kr] old-49
2021. 10. 9. 05:32
Study/Web Hacking
level을 입력받는 form이 하나 존재한다. 이전에도 이와 동일한 형태의 문제를 푼 적이 있는데,, 소스코드를 확인해봤다. SQL INJECTION level :
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fw7ViU%2Fbtrg3OjsXds%2FcgkyYyA1iVpHjCfxQGbE11%2Fimg.png)
[HackerRank] Find the Median
2021. 10. 8. 09:29
알고리즘
# Find the Median (Sorting) [문제] [코드] void quickSort(vector* arr, int start, int end){ int pivot = (*arr)[start], temp; int left = start+1, right = end; if(left < right) { while(left
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fef60GQ%2Fbtrg7XGVdTz%2FuLv4DbenhzXABx22iMl4ik%2Fimg.png)
[HackerRank] Diagonal Difference
2021. 10. 8. 08:29
알고리즘
# Diagonal Difference (Warmup) [문제] [코드] int diagonalDifference(vector arr) { int sub; int left = 0, right = 0; int n = arr.size(); for(int i = 0; i < n; i++) { left += arr[i][i]; right += arr[i][n-1-i]; } sub = left - right; return (sub < 0) ? (sub ^ 0xFFFFFFFF) + 1 : sub; } [코드설명] matrix의 양쪽 대각선 합을 구하고 그 차의 절댓값을 구하는 문제다. 왼쪽 대각선은 행과 열의 인덱스가 같고, 오른쪽 대각선은 행의 인덱스는 0부터 열의 인덱스는 n-1(n은 각각 행과 열의 크기)부터..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuVh1y%2Fbtrgg48U8Ec%2FLU4MuZAZe3orYlgCKhyvY1%2Fimg.png)
[Webhacking.kr] old-35
2021. 9. 29. 17:30
Study/Web Hacking
old-35 시작화면이다. phone number를 입력받는 form 하나가 있다. view-source를 눌러 소스코드를 확인해보자. Challenge 35 phone :