반응형


일주일 휴가를 받아 이전부터 가고 싶었던 태국 방콕을 다녀왔습니다.


역시 불교의 나라, 세계 여행지 순위 1위인 이유, 음식이 가장 맛있는 곳 1위인 이유를 흠뻑 느끼고 왔던 여행이었습니다.


여행 준비부터 일정, 경비까지 정리해보도록 하겠습니다!!


#1. 비행기표

직업 특성상 미리 표를 구할 수 없는 구조라 매번 날짜가 닥쳐서 비행기표를 예약하게 되네요ㅠ


저는 딱 한달전에 방콕행 비행기표를 예약했는데요, 날짜+연휴전주 라는 핸디캡 때문에 가격이 좀 비쌌던것 같습니다.




스카이스캐너로 최저가를 검색한 후 인터파크 투어에서 결제를 했습니다.


정확한 금액은 기억이 안나지만, 수수료까지 다 합쳐서 42만원~43만원 정도였습니다.


저보다 일주일 늦게 결제한 친구는 이 때보다 10만원이 더 오른 가격에 결제를 했는데, 역시 비행기표는 최대한 빨리 사는게 이득이군여ㅜㅜ


#2. 1일차 일정


사실 이번 여행은 빽빽한 일정을 짜고 간것은 아니였죠. 7박 8일이라는 긴 시간동안 여유롭게 둘러보고 싶었거든요.


그래서, 1일차 일정 전혀 생각 안하고 갔답니다ㅠ 


방콕 공항에는 11시 정도에 도착했는데요, 한시간이나 빨리 도착했을 뿐더러 이렇게 빨리 도착할거라는 생각도 못하고 그냥 도착하는 날이니까


뭘 하겠어~ 라는 생각을 했던거 같아요.


그래서!! 즉흥 여행을 했죠.


일단, 택시를 타고 람부뜨리 로드로 향했습니다. 저희 숙소가 람부뜨리 로드에 있는 Rambuttri Village 였거든요.


>> https://www.booking.com/hotel/th/rambuttri-village-plaza.ko.html (예약은 Booking.com, 자세한 숙소 정보는 링크를 이용하세요)


 


람부뜨리 로드 모습입니다. 아직 밤이 안되서 그런지 한산한 느낌이었습니다.


길 가다보면 4번째 사진같이 길거리에서 마사지 받는 모습을 많이 볼 수 있었는데요, 수줍음 많는 저는 시도를 못해본..


람부뜨리 로드를 거닐면서 느낀 점은 확실이 동양인보다 서양인이 많다는 점!! 


카오산 로드랑 람부뜨리 로드가 왜 여행객의 성지라 불리는지 확실히 느낄 수 있겠더라고요!



친구랑 저는 람부뜨리 로드 초입에 있는 로컬 가게에 들어가 점심을 먹었습니다.


배틀트립(쭈아투어)를 보고 간터라 찾아가긴 했는데 정확하게 그 곳인지는 잘 모르겠어요ㅜ


방송에서 추천해준 랏나?를 시켰구요, 방송에서는 전 같은게 들어가있는 스프를 시켰는데 저희 스타일이 아닐거같아 시키진 않았습니다.


중국풍 면요리였는데 역시 맛있구요! 동남아 망고는 실망시키지 않아요ㅋㅋㅋㅋ 진짜 JMTGR♡♥



점심을 먹고 어디를 갈까 고민하다가 역시 배틀트립(쭈아투어)에 나왔던 딸랏롯파이2 야시장에 가보기로 했습니다.


람부뜨리 로드에서 가기는 조금 먼 감이 있었는데, 그래도 태국은 택시비가 싸니까요ㅠ 질러버렸습니다ㅋㅋㅋㅋ


태국와서 처음 느껴보는 야시장 스웩!! 넘 좋았고, 내일 입을 코끼리 치마도 겟했어요!!ㅋㅋㅋㅋ



이 야시장에서 저녁까지 해결했는데요, 이번에도 역시 방송에 나왔던 가게와 메뉴를 택했습니다.


첫날은 아무 계획없이 오다보니 아무래도 방송을 따라하게 되었네요!


고기가 진짜 야들야들하고 부드러워요ㅠㅠ 근데 태국 고추가 들어가서 조금 많이 맵구요,, 태국음식 특유의 새콤한 맛?이 나요.


그리고 드뎌!! 태국 3대 맥주 중에 2개를 먹어봤는데요, 탄산이 적어서 목넘김이 좋더라고요. 그래도 저는 LEO 한표!(좀 더 진함)



저녁 맛있게 먹고 야시장 구경 했어요!


역시나 야시장은 길거리 음식 아닌가요? 그렇게 먹고도 또 들어가는...


딸랏롯파이2 야시장에서 해산물이 유명하다는데 배가 너무너무 불러서 포기하고.. 그냥 해산물 꼬치로 대신했습니다ㅠㅠ 아쉽


다시 방콕을 간다면, 2층 바에 올라가서 야경과 그 해산물 음식은 꼭 먹어볼거에요!



마지막으로 방콕 시내 야경 투척하면서 첫날 마무으리☆


반응형
반응형

Server-side Template Injection 문제입니다. 처음에 접했을 때는 생소한 공격방법이라 당황했었는데요,

구글 검색 시 많은 정보가 나오더라고요.. (공부 안한거 들통ㅠ)


이 문제를 풀 때 개념을 https://www.netsparker.com/blog/web-security/server-side-template-injection/ 이 곳에서 파악했구요,

상세 공격 방법들은 https://portswigger.net/blog/server-side-template-injection 이 곳을 참고했습니다.

요약하면, Server Side Template는 동적 HTML을 생성할 수 있다는 큰 장점때문에 사용되고 있는데, 템플릿 문자열 내에 사용자가 입력을 제어하는 부분을 이용하여 사용자가 템플릿 표현식을 실행할 수 있을 경우 원격 코드 실행까지 이어질 수 있다는 것입니다.

 

문제를 풀어보도록 하겠습니다.


문제에 들어가보면, 닉네임을 입력하라는 입력창과 check 버튼이 있습니다.

임의의 문자열을 삽입한 후 버튼을 클릭하면 아랫 줄에 echo 명령어처럼 사용자가 입력한 값을 그대로 뿌려줍니다.


이번에는 공격 가능성이 존재하는지 알아보도록 하겠습니다.


${7*7} 을 입력할 경우, 공격이 불가능한 경우라면 "${7*7}" 전문이 나오는 것이 정상이지만, 문제에서는 계산이 되어 나옵니다.

때문에, 원하는 명령어를 실행할 경우 서버에서 실행되어 결과 값을 얻을 수 있을 것 같습니다..


우선, 간단한 명령어부터 실행해보도록 하겠습니다.


<#assign ex="freemarker.template.utility.Execute"?new()> ${ ex("실행할 명령어") } << 명령 코드를 입력하면 위와 같이 명령어 결과 값을 확인할 수 있습니다. (공격코드는 상위 링크에서 확인하였습니다.)


whoami 명령어 역시 정상 동작하여 결과를 확인 할 수 있었습니다.


이번에는 문제에서 요구한 파일을 읽어보겠습니다. 간단한 cat 명령어로 flag를 획득할 수 있습니다.

반응형

'Study > Wargame' 카테고리의 다른 글

[root-me] Path Truncation  (0) 2019.02.26
[root-me] SQL Injection - GBK  (0) 2019.02.21
[root-me] SQL injection - string  (0) 2019.02.07
[root-me] LFI - Double Encoding  (1) 2019.01.17
[root-me] PHP filters  (0) 2019.01.16
반응형

SQL injection string형 문제를 풀어보았습니다. 역시 관리자의 패스워드를 알아내야 합니다.


문제에 들어가시면 홈/검색/로그인 탭이 있습니다.

이 메뉴들 중에서 SQL Injection이 가능한 포인트를 찾는 것이 관건이었습니다.

news_id 파라미터, 로그인 메뉴의 login, password 파라미터 등 여러 곳에서 SQL Injection을 시도해보았으나,

유일하게 SQL Injection이 가능한 포인트는 검색 메뉴의 recherche 파라미터 였습니다.


검색어에 a를 삽입하면 정상 값으로 5개의 결과 값을 출력하였고요,

a'를 삽입하니 syntax Error가 출력되어서 a%'를 삽입 해보았습니다.


no such column 이라는 에러가 떠서 저는 이곳이 SQL Injection에 취약한 포인트라 판단하였습니다.


이번에는 필드 갯수를 구하기 위해 order by 구문을 삽입했는데요, 아래 구문을 순차적으로 삽입하여 필드 갯수 가 2개인 것을 파악하였습니다.

a%' order by 1--

a%' order by 2--

a%' order by 3-- << 에러 출력 


sql 쿼리문을 삽입하여 스키마 정보를 파악해보았습니다.

a%' union select 1, sql from sqlite_master-- 구문을 삽입하여 news 테이블과, users 테이블이 존재하고 있음을 알 수 있습니다.


마지막으로, 관리자 패스워드가 존재할 것 같은 users 테이블에서 username과 password 값을 출력하면 됩니다.

a%' union select username, password from users-- 해당 구문을 삽입하면, 관리자의 패스워드를 획득할 수 있습니다.

반응형

'Study > Wargame' 카테고리의 다른 글

[root-me] SQL Injection - GBK  (0) 2019.02.21
[root-me] Server-side Template Injection  (0) 2019.02.08
[root-me] LFI - Double Encoding  (1) 2019.01.17
[root-me] PHP filters  (0) 2019.01.16
root-me >> SQL injection - blind  (0) 2018.06.08

+ Recent posts

반응형
반응형