모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
복습하던 도중에 practice_upload3 문제에서 질문이 있습니다. 우선 문제는 파일 다운로드 취약점을 이용해서 풀긴 했는데 uploadaction.php에서는 업로드 되는 파일의 경로가 inc/common.php로부터 filePath + gb + uploadFile을 가져왔는데 download.php 에서는 파일을 가져오는 경로가 filePath + fileName으로 되어서 attach/contact/<파일> 이 되지만 uploadaction.php에서는 gb값이 왜 추가가 되나요?? 다운로드 되는 경로가 결과적으로 실제 파일이 위치한 경로라는 것은 이해가 되지만 업로드 되는 소스코드는 왜 다운로드와 다른지 이해가 잘 안 가네요!
빌드 에러가 나서 cd ios rm -rf Podfile.lock Pods cd .. npx pod-install ios 처리후 다시 yarn ios 로 실행을 했는데요 그이후 a 로 안드로이드도실행했구요 이후에 ios 에서 icon이 나오지않는 문제가 생겼습니다. 그전에는 정상적으로 icon이 나왔었거든요 ios info.plist에도 해당 ttf 다 잘 들어있고 재빌드전까진 icon이 잘 나왔는데 어디를 살펴봐야할지 조언을 구합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요 김영한 선생님께서는 부트스트랩 css 파일을 직접 다운로드 받아서 static/css/bootstrap.min.css 경로로 css 파일을 위치시켰습니다. 하지만 부트스트랩 가이드를 보던 중 css는 위 사진과 같이 <link> 태그를 프로젝트 내 코드에 위치시켜서 href경로에 CDN링크를 지정한다면 자동으로 적용되는 것을 알 수 있었습니다. js 또한 <script> 태그를 배치시키고 src에 cdn 링크를 지정하면 자동 적용이 가능하였습니다. 즉 파일을 다운받지 않고 링크를 통해 부트스트랩 css에 접근이 가능하다는 사실을 알 수 있었습니다 따라서 어떤 이유로 선생님께서 프로젝트 내에 직접 파일을 다운받아서 배치시키셨는지 궁금합니다 !
저는 @Query 어노테이션의 값을 아래와 같이 강의 내용대로 따라했을 때 오류가 발생해서 public interface LockRepository extends JpaRepository<Stock, Long> { @Query(value = "select get_lock(:key, 3000)", nativeQuery = true) void getLock(String key); @Query(value = "select release_lock(:key)", nativeQuery = true) void releaseLock(String key); } 아래와 같이 정합성이 맞지 않아서 테스트를 통과하지 못했습니다. 그래서 구문을 아래와 같이 바꿔서 통과했는데 참고 하시길 바랍니다. ?1의 값은 key로의 값으로 고정되어 있는데 이럴 경우 문제가 없을지 궁금합니다. @Query(value = "select get_lock(?1, 3000)", nativeQuery = true) void getLock(String key); @Query(value = "select release_lock(?1)", nativeQuery = true) void releaseLock(String key);
먼저 회원가입을 하면 데이터베이스에 잘 들어갑니다 작성한 데이터가 이런식으로 회원가입과 로그인은 잘 되어서 db에 데이터가 넘어가지만 게시글 작성시 nickname과 token이 null로 나옵니다 . 이런식으로도 null이 문제라고 하는데 밑에 코드를 보시면 어느 부분인지 찾지 못해서 며칠동안 해결을 못하고 있습니다 자문 부탁드려요 ㅠ
[!] Network resources X A cryptographic error occurred while checking "https://cocoapods.org/": Handshake error in client You may be experiencing a man-in-the-middle attack, your network may be compromised, or you may have malware installed on your computer. 플러터 설치중 flutter doctor 을 치고 이 오류를 만났는데 window defencer 도꺼보고 다양한 보안프로그램 도 꺼봣는데 안되는데 이 문제에대해 도움이 필요합니다 검색해도 관련 오류가 없더라고요
강사님이 커밋하며 내부적으로 flush 가 호출된다고 했는데.. 왜 1번과 4번에 flush 가 두번있는건가요? 내부적으로 flush 일어난다는게 1번과 4번 어떤건가요? 커밋은 5번인데.. 처음에 어플리케이션 코드에인 tx.commit() 이것을 호출하면 내부적으로 1번의 flush 가 호출된다는건가요?
안녕하세요 수업 잘 듣고 있습니다. c언어를 처음 배워서 모르는 것이 많아서 이상한 질문이라도 양해 부탁 드리겠습니다. c 부터 c++까지 4가지 강의를 쭉 들어보려고 구매를 했는데 열심히 해보겠습니다. 독하게 c 필수 실습 문제 2번째 것을 보며 디버그를 하다가 궁금증이 생겨서 질문 드립니다. 제가 질문을 두서 없이 했습니다. 양해바랍니다ㅜ 그리고 만일 질문의 내용이 수업을 따라가다 보면 알 수 있는 내용이라면 질문에 대한 답은 안 해주시고 그렇게만 써주시면 될 것 같습니다. 첫 번째 char형 배열은 선생님 말씀처럼 잘 확인을 했는데 두 번째 int형 변수는 저런 식으로 나와서 잘 모르겠습니다. 메모리를 가리키는 주소 자체?도 메모리 인가요? 다만 위 사진에서는 주소 자체 메모리는 안보이고 그 주소가 가리키는 메모리만 보여줘서 주소 자체 메모리는 안 보일 뿐인가요? 그렇게 되면 위 그림에서 0x00....43과 대응되는 ??은 못 쓰는 메모리가 되는 것인가요? 주소 자체?도 메모리라면 그곳에는 주소 뿐 아니라 정수도 저장할 수 있는 것 처럼 보이는데 맞나요? 주소 부분과 정수 부분이 구분 되어있는 건가요? 아니면 정수 부분도 주소로 쓰일 수 있는 건가요? 위 사진에서 제가 67을 썼더니 주소가 0x00..43으로 나왔고 그것을 가리키는 메모리는 ??이 나왔습니다. 이것은 10진 수를 16진수로 바꾼 주소 자체에 그대로 매칭 시켜서 저장했다는 소리 같은데, 그러면 모든 정수는 이렇게 매칭 시켜서 중복되면 그 하나를 돌려 쓰게 되는 것인가요? 뭔가 머리가 복잡해져서 그대로 질문을 했지만.... 말씀해주셔도 모를 것 같고 복잡할 것 같습니다. 지금 단계에서는 그냥 넘어가고 뒤에 배우다 보면 다 알려주시는 부분인가요?? 아니면 따로 알아야 할까요??
안녕하세요 강사님 강의 잘 듣고 있습니다. 다름이 아니라 yarn start + i 를 누르면 xcode가 자동 실행돼서 에뮬레이터가 잘 보이지만 yarn start + a를 실행하면 이미지와 같은 에러가 발생하네요. 안드로이드 스튜디오를 실행하고 device manager에서 device run 하면 에러가 발생하진 않아요. 하지만 수동으로 계속 켜야하는 번거로움이 있네요..ㅠ 안드로이드 스튜디오도 xcode처럼 yarn start + a를 하면 자동으로 실행될 수 있도록 하는 방법이 있을까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 사과나무 문제에 대해서 좌표를 잡은 다음에 즉 중앙갑을 (2,2)라는 값을 두고 abs 즉 절대값 함수를 이용하여 거리가 n/2를 이용하여 2 이하인 값의 범위 까지만 더해서 해도 괜찮은 가요? 즉 거x,y축 까지의 거리가 2 이하인 블록의 합을 구하는 방식입니다.
안녕하세요 교수님, 좋은 강의 무료로 제공해 주셔서 정말로 감사드립니다. 강의에서 사용된 코드 중 일부는 교재에 수록된 그대로인데, 또 일부는 교재에 없는 것 같습니다. (ch.4 Thread를 보여주는 Java 예시 코드) 혹 github 등에 source code를 업로드하신 것이 있을까요? 감사합니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. dp를 작성하는 else 부분에서 배열의 범위가 벗어났다고 뜨는데, 어디가 잘 못 된건가요??? import java.io.*; import java.util.*; public class Main { public static void main(String[] argvs) { Scanner sc = new Scanner(System.in); int n=sc.nextInt(); int m=sc.nextInt(); int[][] map = new int[n][m]; int[][] dp = new int[n][m]; for(int i=0; i<n; i++) { String s=sc.next(); for(int j=1; j<=m;j++) { map[i][j]=s.charAt(j)-'0'; } } for(int i=0; i<n ; i++) { for(int j=0; j<m; j++) { if(map[i][j]==0) dp[i][j]=0; else { //에러 부분(배열 범위 벗어남) int a=map[i-1][j]; int b=map[i][j-1]; int c=map[i-1][j-1]; int k = Math.min(a, Math.min(b, c)); dp[i][j] = k; } } } } }