본문 바로가기

분류 전체보기178

webgoat http Proxy 프록시 서버는 클라이언트와 서버 사이에 있습니다. 여기서는 프록시를 이용해 요청&응답을 기록하고 분석하는 것을 배울 수 있습니다. 첫 페이지에 프록시에 대한 설명이 나오고 ZAP를 이용해 설치하는 방법능 쭉 알려줍니다. 하지만 저는 burp suite를 사용할 것입니다. burp suite(https://portswigger.net/burp/communitydownload)로 가서 운영체제에 맞는 burp suite를 설치합니다. 저는 community edition으로 설치했습니다. 이 전에(https://codestudycafe.tistory.com/80) 했던 대로 proxy를 세팅해 줍니다. 이때 설정한 proxy가 여기서 말한 proxy입니다. 6번 밑에 있는 문제를 보면 요청을 가로채서 이것저.. 2024. 9. 6.
[논문 리뷰] Neural Architecture Search: A Survey(NAS) Neural Architecture Search(NAS)는 인공지능을 만들어 주는 인공지능입니다. 보통 인공지능을 만들 때 모델을 만드는데 이 모델을 인공지능을 이용해서 만들어 보자는 것입니다. 이 인공지능의 컨셉과 발전 과정 집중해서 이야기해 보겠습니다.기본 전략3가지 개념을 알아야 합니다. search space : dense net, convolution, skip connection 등 여러 레이어가 있습니다.search strategy : search space를 어떻게 탐색할지 정합니다.performance estimation strategy : 찾은 아키텍쳐가 얼마나 성능을 내는지 구합니다. 직접 트레이닝해도 되고 퍼포먼스를 예측하는 알고리즘을 도입할 수 있습니다. search strateg.. 2024. 9. 5.
spring boot - post 전송(with data) 유저가 로그인을 한다고 가정해 봅시다. 그럼 아이디와 비번을 서버에 보낼 것입니다. 먼저 사람들이 입력을 하는 형식을 만들어 봅시다. user 밑에 model 패키지를 만들고 UserLoginRequest를 만듭니다. 이제 UserLoginRequest에 어떤 식으로 입력해야 하는지 적을 것입니다. 이름과 비번을 입력받는데 빈칸이면 안되니까 NotBlank annotation을 넣어줍니다.만약 NotBlank에서 에러가 발생하면 build.gradle에 마지막 문구를 추가해 줍니다.controllercontroller 패키지에는 아래와 같이 만듭니다. http://localhost:8080/open-api/user/login에 UserLoginRequest 형식으로 호출한다는 뜻입니다. 이걸로 로그인을 .. 2024. 9. 4.
spring boot - 데이터베이스 연결 백엔드에서는 데이터베이스에 있는 정보를 읽은 다음 적절한 정보들을 넘겨줍니다. 데이터베이스에 연결하는 법을 배워봅시다.우선 데이터베이스를 세팅합니다(https://codestudycafe.tistory.com/99). 저는 mysql과 workbench를 사용할 것입니다. 데이터베이스우선 데이터베이스를 설정합니다. id, name, password를 만들어 줍니다.PK는 primary key, NN은 not null, AI는 auto increase입니다. 오른쪽 아래 apply를 눌러 적용할 수 있습니다.spring boot resource 잍에 있는 application에 다음 정보를 넣습니다. ~~.yaml이 아니면 yaml으로 고쳐줍니다. 세팅한 값마다 다르니 각각이 어떤 의미인지 간단하게만 살펴.. 2024. 9. 3.
2969 - 메뚜기 step 1더보기꽃잎이 많은 꽃은 절대 적은 꽃으로 이동할 수 없습니다. 그럼 꽃잎 수로 정렬을 한 다음 자기보다 더 많은 꽃만 고려해도 문제를 해결할 수 있습니다. 꽃잎 수로 정렬한 다음 문제를 해결합니다.step 2더보기dp[i][j] : i,j에 있는 꽃에 있을 때 이동할 수 있는 최대 횟수 이 dp를 어떻게든 구하면 이 문제를 해결할 수 있습니다.아래 그림에서 검은 칸에 메뚜기가 있다고 해봅시다. 이 칸에서의 dp값은 {빨간 칸에 있는 dp값의 최대값 + 1}입니다. 그럼 새로운 dp를 정의해 봅시다. Ldp[i][j] : i,j 포함 자기 왼쪽에 있는 모든 dp값들의 최댓값 이 dp를 왼쪽, 오른쪽, 위쪽, 아래쪽 모두 만들면 이 문제를 해결할 수 있습니다. 이것은 펜윅트리로 만들 수 있습니다... 2024. 9. 2.
webgoat http webgoat의 general을 보면 http에 대한 이야기가 나옵니다. 1번째 페이지에서는 http가 어떻게 움직이는지에 대한 설명이 나옵니다. 2번째 페이지에서 요청을 보낼 수 있습니다. 이름을 입력하라고 하는데 아무거나 입력해도 통과할 수 있습니다. f12나 ctrl + shift + i를 눌러 개발자 도구를 열어봅시다.여기의 네트워크 탭에서 어떤 통신이 오고갔는지 확인할 수 있습니다. 이름을 넣고 GO!를 누르면 attack1이라는 것이 보입니다. 이 영역을 누르면 해당 통신에 대한 정보를 볼 수 있습니다. 저희는 POST로 요청을 보냈다는 걸 알 수 있습니다. payload 탭에서는 보낸 정보도 확인할 수 있습니다. 3번 페이지에서는 보내는 요청이 GET인지 POST인지, magic number.. 2024. 8. 31.