본문 바로가기

분류 전체보기117

[화학] 화학의 언어 - 화학식과 화학식량 화학식은, 분자식과 실험식으로 나눌 수 있습니다. 분자식은 분자를 이루고 있는 원자들의 개수와 원소기호로 나타낸 식입니다. 실험식은 분자식에서 표현한 원자들의 개수를 가장 간단한 정수비로 나타낸 식입니다. 예를 들면 이렇습니다. 포도당 분자식 - \( C_{6}H_{12}O_{6} \) 포도당 실험식 - \( CH_{2}O \) NaCl과 같은 공유결합이 아닌 이온결합을 하는 물질이나 (Na는 금속입니다) Fe같은 금속 물질들은 양이온, 음이온이나 원소가 연속적으로 결합하여 이루고 있기 때문에 이런 것들은 실험식으로만 나타냅니다. (애초에 NaCl은 분자가 아닙니다.) 이제 화학식량입니다. 화학식량은 원자량, 분자량, 실험식량 이렇게 있습니다. 실제 질량값을 가져가 사용하기에는 한계가 있기 때문에 상대적.. 2022. 10. 4.
[화학] 화학의 언어 - 원소, 원자, 분자 과학을 접하게 되면 많이 듣는 용어들이 있습니다. 그 중에서 "원소", "원자", "분자" 등... 오늘은 이러한 것들의 정의를 한번 보도록 하겠습니다. 물질을 구분하면 이렇게 정의할 수 있습니다. 순물질 / 혼합물로 나뉘는 것을 볼 수 있습니다. 순물질은 다른 물질이 섞이지 않고 1가지 물질로 이루어져 있는 물질입니다. 혼합물은 2가지 이상의 순물질을 섞은 것입니다. 순물질은 원소 / 화합물로 나뉘어집니다. 원소와 화합물의 정의는 다음과 같습니다. 원소 - 물질을 수정하는 기본적인 요소 화합물 - 두 종류 이상의 원소로 이루어진 순물질 원자와 분자에 대해서 살펴봅니다. 일단 원자의 정의는 다음과 같습니다. 원자 - 물질을 구성하는 기본 입자 다만, 원소와 원자 이 두 단어가 비슷하기 때문에 이해하기에는.. 2022. 10. 4.
[CTF] SuNiNaTaS(써니나타스) 5번 Write-Up | Web 써니나타스 5번 문제풀이 Write Up 입니다. 문제에 접속하면 Check Key Value라는 문장과 함께 텍스트박스가 하나 있습니다. 아무 문자를 입력하고 Check 버튼을 눌러도 별 반응이 없습니다. F12를 눌러 개발자도구를 열어보면, 다음과 같은 힌트가 있습니다. 해당 힌트를 입력해도 별 차이는 없습니다. 페이지 소스코드를 더 뜯어보면, 다음과 같은 script를 발견할 수 있습니다. 다만 해당 script는 난독화가 되어 있어 읽기 어렵습니다. 따라서 난독화를 풀어주는 툴을 이용해 보도록 하겠습니다. 난독화를 해제하는 사이트는 여러 가지가 있는데, 이 글에서는 http://dean.edwards.name/unpacker/ 사이트에서 난독화를 해제했습니다. 코드가 좀 더러운데, 정리하면 다음과.. 2022. 10. 2.
[CTF] SuNiNaTaS(써니나타스) 4번 Write-Up | Web 써니나타스 4번 문제풀이 Write Up 입니다. 문제에 접속하면 다음과 같은 페이지가 나옵니다. User-Agent는 접속 브라우저를 나타내는 것 같고, Plus 버튼을 누르면 포인트가 증가하는 것 같습니다. 일단 버튼을 눌러봅니다. 막 눌러댔더니 25까지만 올라가고 26부터는 이상한 메시지가 나타납니다. F12를 눌러 뭐가 있나 확인해봅니다. 힌트가 하나 보입니다. 포인트를 50으로 만들라네요. 'SuNiNaTaS'라는 힌트도 보입니다. 위에서 본 알림창에서도 같은 글자가 있는 것을 미루어 보면, User-Agent를 SuNiNaTaS로 만들면 되는 것 같습니다. User-Agent를 바꾸는 법은 여러 가지가 있겠지만... 브라우저 기능으로 바꿔보겠습니다. Chrome 기반 브라우저 기준 방법입니다... 2022. 10. 2.
[CTF] SuNiNaTaS(써니나타스) 3번 Write-Up | Web 써니나타스 3번 문제풀이 Write Up 입니다. 페이지에 접속하면 공지 게시판에 글을 쓰라고 합니다. 이래도 되나 싶긴 하지만... 일단 공지사항으로 들어가봅니다. 당연히 글을 쓸 수 있는 버튼은 찾아볼 수 없습니다. 다른 게시판을 찾아봅니다. 자유게시판으로 들어갔습니다. 여기는 글을 쓸 수 있는 Write 버튼이 있습니다. 일단 이 버튼이라도 눌러봅니다. 여기서 글을 쓸 수 있나 봅니다. 그런데 여기 URL을 자세히 보면, suninatas.com/board/free/write 이런식으로 되어 있습니다. URL에 있는 free를 notice로 바꿔봅니다. 공지사항에 글을 작성하는 페이지로 이동했습니다. 대충 아무거나 입력하고 SUBMIT를 눌러 봅니다. 이래도 되나 싶지만 한번 눌러봅니다. SUBMI.. 2022. 10. 2.
[CTF] SuNiNaTaS(써니나타스) 2번 Write-Up | Web 써니나타스 2번 문제풀이 Write Up 입니다. 페이지에 들어가면 웬 로그인 폼이 하나 있습니다. F12를 눌러 개발자 도구를 열어 소스코드를 살펴보면, 로그인 script와 힌트를 확인할 수 있습니다. 해당 힌트에서는 join하려면 ID와 PW가 같으면 된다는데, script에서는 값이 똑같으면 join을 막아버립니다. Join 버튼을 누르면 해당 script의 chk_form() 함수가 호출되므로, 해당 함수 호출 없이 submit() 함수를 호출하면 되는 것으로 보입니다. 일단 대충 같은 값으로 집어넣고... 개발자 도구의 Console 탭으로 가 submit 함수를 실행시키면, flag를 확인할 수 있습니다. 2022. 10. 2.
[CTF] SuNiNaTaS(써니나타스) 1번 Write-Up | Web 써니나타스 1번 문제풀이 Write Up 입니다. 해당 문제에 접속하면 다음과 같은 페이지가 나옵니다. 지금 가장 눈에 띄는 것은 텍스트박스와 Check 버튼이므로, 아무 값을 입력하고 Check 버튼을 눌러 보겠습니다. 입력된 문자열이 GET 방식으로 전송된 것을 확인할 수 있습니다. 이제 해당 페이지의 코드를 살펴봅니다. str로 임의의 문자열을 받고, 해당 문자열이 admin이면 flag가 나타나나 봅니다. 다만 중간에 문자열이 변하는 함수가 있으므로, 최종 결과물이 admin이 되기 위한 문자열을 넣어야 합니다. 해당 소스코드는 ASP로 작성되었고, 코드에 쓰여진 문자열 조작 함수는 다음과 같습니다. Replace([해당 문자열], [변경할 문자열], [새로운 문자열]) // 해당하는 문자열을 새.. 2022. 10. 2.