전체 글74 xss writeup 1 xss 1번 문제 회원가입을 하고 로그인을 한 후 게시물 페이지에 들어가글의 제목과 내용에 이 값을 넣어서 변화를 관찰했다. 등록 후 목록을 보면 위와 같이 되어있다. 그러나 수정을 하려고 들어가보면 아래와 같이 제목 부분에 "> 이 부분이 사라져있음을 알 수 있다. 개발자 도구를 보면 html 엔티티(>)로 필터링 된 것을 알 수 있다.그러나 수정 페이지가 아닌 notice_read 페이지에서는 를 통해 쿠키 값을 탈취할 수 있다. 이제 실제로 이 쿠키값을 다른 서버에 보내기 위해 이것이 실행되는 지 볼 것이다. 공격 루트 : 관리자가 들어갈 url에 취약한 url을 넣어서 flag값을 얻는다. xss 2번 문제공지사항 검색 창에 처음에 로그인을 했던 user id norm 이 아닌 다른 것.. 2025. 12. 24. sqli segfault writeup # sql injection 1 번 문제 풀이1번 goal = '비밀 데이터를 찾아라'admin%' # 위와 같이 적었을 때 위와 같은 결과가 나온다. 이것의 의미는 id like '%{}%' 로 작성되어 있을 가능성이 높다는 얘기이다. (union 7 step을 이용해서 접근해보면 될 거 같다는 생각이 든다.. 위에서 구문 구조를 파악했기 때문에 2번부터 진행한다)-> 2. 컬럼 개수 파악admin%' order by 5# 를 실행하니 column 5는 존재하지 않는다고 뜬다. 결국 4개의 컬럼이 있는 것이다. -> 3. 출력되는 컬럼 파악 admin%' union select 1,2,3,4 # 실행 결과 1,2,3,4 데이터가 모두 출력되는 것을 알 수 있다. -> 4. 데이터 베이스 이름 파악 ad.. 2025. 11. 26. sqli(2) union을 활용하는 공격 방법 sql 공격을 할 때 column 이름, db 이름, table 이름 등을 알아야 할때가 있다. 그러나 그것에 어떤 순서와 방법으로 접근해야 할 지 감이 안잡힐 때가 있다.그런 경우 아래의 방법을 이용하고 익히면 알아내고 싶은 것들을 얻을 수 있다. 노말틱 님께서 알려주신 sql injection 7steps 방법을 통해 공격하는 방법에 대해 알아보자 1. sql injection 포인트 찾기만약 코드를 보지 못하는 상황이라면 sql 구문이 어떻게 작성되어 있는지 모른다. 그런 경우 모든 경우를 생각해 실행되는 것을 찾아야 한다.ex) gameName like '%{}%'위와 같은 경우에는 {}부분에 a%' and '1'='1 을 넣게 되면 %' 이 부분이 남아있기에'1%' = '1 이렇게 넣어줘야 한.. 2025. 11. 26. sqli(1) 공격 구문 분석 처음 sql injection을 접할 때 헷갈려 할 수 있는 부분을 정리해보았다. client에서 요청을 보내면 server가 응답하고 db에 접근해야 할 때는 was를 불러 was가 db에 접근하여 처리해 응답한다. 이때 db에 was가 접근하기 때문에 was가 sql 구문을 실행한다. ex) normaltic' or '1'='1 과 같이 작성하면 모든 사람들의 행들이 나온다. *위의 결과는 normaltic님께서 모의해킹 스터디 학생들을 위해 만든 사이트(sqli 연습)에서 실행한 결과이다.그런데 실제 로그인하는 부분에서는 id와 pw 부분을 다 입력하게 되어있다. 이런 경우에는 and pass='' 이 부분이 추가된다.만약 현재 table에 존재하지 않는 pass를 작성하게 되면 normalti.. 2025. 11. 26. xss_game 5~6단계 풀이 [xss_game 5단계]문제를 파악하기 위해 sign up을 눌러보았다. 그 뒤 url을 보니 next = confirm이라고 되어 있었다. Next >> 를 실제로 눌러보니실제로 confirm 경로로 가게 되었고 redirected 가 되면서 main page가 다시 나왔다. 이때부터 next에 들어가는 confirm 자리에 취약점이 있을 거 같아 여러가지를 대입해 보았다. toggle을 보니email 값은 어떤 것을 적어도 전해지지 않고 그 대신 next 라는 변수에 어떤 값을 적고 Next 버튼을 누르면 그 곳으로 향하는 것을 알 수 있다. 사용자의 입력이 그대로 반영이 되어 이것을 우회하여 공격할 수 있다. next=javascript:alert() 을 url에 입력하니 문제가 풀렸다. a .. 2025. 11. 10. xss_game 3~4단계 풀이 3번째 문제또한 태그를 이용한 문제이다. image 1,2,3을 클릭하면 url에 #뒤에 1,2,3이 그대로 적힌다. target code를 보면 num이라는 변수에 사용자의 입력값이 그대로 들어가는 것을 알 수 있다. 2번 문제에서 썼던 방식 그대로 오류를 일으켜 alert가 실행되도록 4.jpg' onerror="alert()" 이것을 url에 그대로 넣으면 성공문자가 뜬다. 4번문제를 보고 바로 타이머 숫자 입력창에 를 넣었더니 그대로 문자열로 이스케이핑 되었다.이후 시간이 다 되었다는 알림이 뜨고 이전 페이지로 돌아갔다. 위와 같이 실제 코드를 보면 timer 라는 변수에 사용자의 입력값이 그대로 들어간다. 이 또한 img 태그안에서 일어난다. 그런데 이전 문제와는 다르게 가 그대로 화면에 .. 2025. 11. 4. 이전 1 ··· 5 6 7 8 9 10 11 ··· 13 다음