Web App Hacking CTF w/ Burp Suite

헤이, 오늘 밤 우리 모두 무슨 일이야? 일부 웹 애플리케이션을 수행 할 것입니다 감사 나는 실제로 전체를 기록했다

한 시간 반 동안 그것과 나는 완전히 미리 확인하지 않았다 모든 것이 설정되었는지 확인하기 위해 적절하게 오디오를 입력하십시오 마이크가 제대로 구성되지 않았습니다 그리고 나는 내 오디오 중 하나도 가지고 있지 않다 음악을 듣지 만 오디오가 없어서 2 라운드 때문에 이걸 보았습니다

깃발 잡기 웹 응용 프로그램 감사 용입니다 나는 몇몇 사람들에게 새에 관해 묻게했다 당신은 웹 애플리케이션을 감사한다는 것을 알고 있습니다 그래서 우리에게 좋은 기회입니다 뛰어 들어가서 확인해보세요

이미 내가 처음으로 달려 왔음을 알 수있다 쉬운 것으로 간주되는 5 단계 여기 수준이지만 우리는 앞으로 나아갈 것입니다 다시 그것을 통해 당신은 아니야 나 땜에 엉망이고 많이 망쳐 놓는 것을 볼거야 나는 아직도 일부를 망칠거야

이것들은 내가 무엇인지 기억하지 못한다 내가 방금 끝났다고해도 2 시간 전이지만 음, 이해 하네 너는 우스운 일이 많다는 것을 알지 내가 도착한 곳으로 가기 전에 우리는 조금 더 빨리 갈 것입니다 나는 그것이 더 나은 비디오를 만든다고 생각한다

어쨌든 당신은 모든 것을 마지막으로 보지 못합니다 작은 실수는 그것을 보는 것이 좋다 실수를하는 것이 좋습니다 당신이 포인트 A에서 얻은 방법을 생각한 프로세스 어쨌든 B를 가리 키기 위해 그냥 가자 앞으로 나아가서 우리가 무엇을 볼 수 있는지 괜찮아

첫 번째 것은 바로 여기 0입니다 하인즈 한 명 그래서 우리는 계속해서 클릭 할 것이다 우리가이 아기를 열어 줄거야 그래서 우리는 소스가 지금 너와 있을지도 모른다 거의 항상 내가 제일 먼저하는 일

너 내가 웹에서봤을 때 너는 웹을 안다 응용 프로그램 감사는 근원입니다 코드가 무엇인지 알아보기 숨어서 우리가 볼 수 없으니 가자 앞으로 나아가 야한다 왜 네가 분명히 너에게 이유 야? 모든 기본 파일을 볼 필요가있다 페이지를 구성하는 모든 것과 당신은 근본적으로 무엇이 두포의 아래에 있는지에 관해 안다

그러나 때로는 시원한 것을 발견 할 수도 있습니다 댓글과 같은 빗 및 코드에 의해 만들어진 개발자는 때때로 부활절 달걀을 찾습니다 시대에 따라 그들은 꺼내는 걸 잊었지만 아마 그곳에 들어가기를 원하지 않았을거야 우리는 이미 우리가 발견 한 것을 볼 수 있습니다 첫 번째 플래그 그래서 우리는 우리가하지 않는 것 같아요

이미 복사해서 붙여 넣기해야합니다 해냈다 그래, 네가이 문제를 해결할 수 있다고 생각해 우리는 그 부분을 건너 뛰 겠지만 깃발 2 번으로 넘어 갑시다 이건 금지 된 전화 야

그래서 나는 그것을 밖으로 닫았습니다 비어있는 페이지는 내가 너에게 먼저 말했듯이 페이지 근원과 아무것도 그렇게 좋지 않은 그냥 밖으로 평평하게있어 많은 짜증나는 알았어 가서 트림을 해봐 우리가 괜찮은 걸 볼 수있는 것을 보아라 그래서 당신은 버핑 스위트가 당신을로드했습니다

웹을 가지고 있는지 확인하고 싶다 트림을 통해 프록시하도록 구성된 브라우저 트림 스위트 일종의 행동 때문에 스위트 어떤 의미에서 중간자 같은 사람과 그것은 당신에게 많은 것을 할 수있는 능력을줍니다 너는 나 대신에 그렇게 보일거야 그냥 당신이 알고있는 그것에 대해 그냥 산책 우리가 볼거야 그래서 당신이하고 싶은 일은 귀하의 설정을 귀하의 네트워크를 찾을 수 있습니다 설정 고급 네트워크 설정으로 이동 수동 프록시 구성 로컬 호스트 IP 127

001 포트 8080 확인 이 상자는 확인을 클릭하고 준비가되었습니다 그래서 지금은 요격은 꺼져 있지만 우리는 지금 그렇게 할 것입니다 Firefox에서 페이지를로드 할 때마다 트렁크 스위트에 갈 예정이고 그만하면 우리에게 옵션으로 여기에이 버튼이 있습니다

그것들은 우리가 선택할 수있는 옵션들입니다 우리는 일부 변경을 선택할 수 있습니다 우리의 요청을받은 후 우리가 앞으로 내리는 것처럼 그냥 맡겨라 떨어 뜨릴 수있다 보내지 않는 것을 의미한다

우리는 다른 행동을 전체 목록 전체를 볼 수 있습니다 그러니 지금 당장 그렇게 해봅시다 이 페이지를 새로 고침하자 지금 멈추는 짐 꾸러미를 통해 와라 바로 여기에서 요청을 볼 수 있습니다

바로 여기와 그 첫 번째 일은 내게로 뛰어 내리는이 쿠키와 가장 큰 이유는 내 눈을 사로 잡았다 당신은 인증이나 권한을 알고 있습니다 그런 다음 우리는 hash 해시로 해시를 복사 해 봅시다 그러니 계속해서 어떤 종류의 우리가 여기에서 가장 많이 해쉬하고있는 해쉬 아마 샤 – 1 인 것 같아 그럼 어서 그걸 버리자

가로 채기를 해보고 해시를 뱉어 라 Google에 들어가면 우리가 생각해내는 것을 볼 수 있습니다 그래서 좋아, 여기에 우리가 간다 해시 그래서 해시가 거짓이다 그것은 텍스트 거짓이 나에게 이것은 꽤 명백하게 보인다 새로 고침 할 때 차례 요격을 다시 가자

기본적으로 변수 auth는 암호화 된 값 false를 포함합니다 내게 네가 그렇게 로그인하지 않았다고 말했어 왜 로그인하지 않으려는 경우 당신은 나에게 암호화 된 가치를 부여하고 어쩌면 우리는 대화를 나눌 수 있습니다 시도해 보자 진정한 해시가 작동하는지 확인해보십시오

인터셉터를 끄자 예외 예 그럼 왜 새 탭에로드가 오, 네가 여기서 뭘하는지 알 겠어 웹 사이트를 찾아 보자 좋아요 사실 우리 해시가 있습니다

우리가 가로 채기를 할 것입니다 다시 켜거나 지금 새로 고침하세요 우리의 가치를 바로 여기에서 바꿔라 여기에 거짓이다 나는 진실을 붙여 넣을거야

그리고 나서 이걸 앞으로 포기하겠습니다 이 수정 된 요청을 요청하고 거기에 너 우리 깃발이있어 지금 쓰고있어 문제 중 하나는 내가 처음이 일을 할 때 내가 알고있는 논리를 바로 잡을 시간 이었어 알았어 알았어

암호화 된 값 false 아마도 필요합니다 진실하다 그래서 나는 그것을 암호화하지만 내가 사용하는 것 해시를주고 내게 다 해줬 어 네가 본다면 대문자를 우리가 가진 해쉬가 전부라는 것을 알아라 소문자로 여기에 표시되지 않았습니다 너는 다른 것을 시도 할 때 그것을 붙이는 것을 안다

단지 작동하지 않는 것들 그 모든 대문자가 어쨌든 나는 그것을 안으로 붙여 넣었다 우리는 우리 다음 플래그를 얻었습니다 이번에는 인터셉터로 이동하십시오 우리가 이미 볼 수 있도록 깃발이있어 우린 그냥 그것을 닫으면 다음으로 넘어갈거야

하나 3 명의 바비가 있었다 나는 별났다 괜찮아 오늘 밤 만나요 오, 안돼요 먼저 주스가 먼저 나왔어 내가 무엇을 볼 수 있는지 소스를 확인해 보라

후드 그래서 우리는 h1 태그 양식 태그가 버튼 입력을 몇 개 결합하면됩니다 아무리 평범한 사람 이니? 기본 입력 필드 및 제출 버튼 우리의 인터셉터를 새로 고침해라 이것과 다른 것이 있는지 확인하십시오 너에게 아무런 쿠키도 보내지 않았어 그러니 그냥 그걸 가지고 놀아 보자

어쩌면 괜찮은지 보자 그녀는 아마도 실제로 나를 그냥 이걸해라 그녀는 결코 더 이상 할 수 없어 우리 쿠키를 혼자두고 가자 나는 너무 많은 것을 버리지 않는다

우리가이 일을하는 동안 비밀 좋아, 우리가 아포스트로피 그리고 우리는 이것을 돌려 받았다 속편에 오류가 있습니다 문법 아하 아마 속편 주입을 다룰거야 우리가 속편을 입력 할 수 있었기 때문에 특정 문자 및 허용되었습니다 의미는 소스 코드가 아닙니다

사용자 입력을 위생적으로 처리하여 이 쿼리를 수정할 수 있으며 잠재적으로 우리가 사용할 수있는 지점으로 수정하십시오 로그인을 무시하고 로그인 할 수 있습니다 사용자 이름과 비밀번호가 없으므로 그걸 꼼꼼히 살펴 보자 이건 가로 채기를 끄 겠어 이것에 관해서 나는 정말로 그렇지 않다

그것을 필요로하지 않을 것 네가 아는 경험에서 나 그렇게 알았어 이미 그녀를 알았어 가장 가능성이 높은 대부분의 근본적인 속편을 안다 전체 주사는 동일합니다 로그인을 우회하는 암호 하나 우리가 여기있는 것 때문에 결국 그걸 알아 냈을거야

이것은 일종의 속편이고 몇 가지 조사를하고 마음에 들었다 당신이 발견 한 속편 주입 이 시나리오는 첫 번째 시나리오 중 하나입니다 아마 읽은 시나리오 당신에 대해 아주 잘 알고 있습니다 속편의 안녕 세상과 거의 같다 주사 기본적으로 어떻게 작동합니까? 정확하게 보이지 않는 검색어 하지만 기본적으로 이것은 너무 많은 언어로 항상 내 구문 마스크가 섞여서 이것은이 기본 의사 코드이므로 그렇지 않을 수도 있습니다

100 센트는 정확하지만 아이디어는 기본적으로 이 코드는 기본적으로 우리에게 사용자로부터 권한 부여 키 인증 사용자 이름이 사용자와 같은 테이블 이름과 암호는 암호와 같습니다 예, 맞습니다 올바른 사용자 이름과 그렇지 않으면 쿼리가 올바른 암호입니다 auth 키를 반환하지 않을 경우 당신은 어떻게 든 이것을 수정할 수 있습니다 최소한 사용자 이름으로는 알 수 있습니다

사실은 여전히 ​​확인하고 보도록하겠습니다 암호를 수정할 수 있다면 아포스트로피를 넣자 알았어 그건 우리가 여기에 검색어를 입력하면 여기에 검색어를 입력해야하지만 수정하고 싶습니다 이것이 바로 앞에 있기 때문에 여기에 암호는 우리가 모르는 것을 기억하고 있습니다

우리가 얻고 자하는 암호는 무엇인가? 이걸 근본적으로 끝내고 싶다 이 쿼리는 다음과 같습니다 기본적으로 우리에게 권한 부여 if 사용자 이름은 사용자 이름과 동일하거나 1은 1과 같습니다 1은 항상 1과 같습니다 올바른 사용자 이름이 없다

아무리해도 1 우리는 여전히 들어갈 수있는 1과 같습니다 그 조건 중 하나만 있기 때문에 사실이고 1은 1 일 것입니다 사실이게 우리가 할 일이고 당신은 우리가 모든 것을 제거했음을 알 수 있습니다 비밀번호 섹션을 사용하면 속편의 주석 문자를 사용하므로 우리는 기본적으로 모든 것을 주석 처리합니다 이 후 기본적으로 삭제 만합니다

그 질문의 끝이 가자 앞으로 우리가이 일을 할 수 있는지 보자 그런데 내가 말했는지 모르겠다 이것은 이미하지만 거의 비슷합니다 한밤중에 나는 거의 마지막 몇 잔을 잤다

밤 나는 뇌사 같아서 나를 용서해 만약 내가 기본적으로 어리석은 것처럼 보였다면 알았어 내가 파업하기 시작할거야 주변은 분명히 하나와 같다

그래서 우리가 그렇게하기 시작하겠습니다 우리 아포 스트로피를 넣으려면 해당 사용자 이름 섹션을 닫은 다음 우리는 새로운 코드 B를 넣을 것입니다 하나는 하나와 같고 이것은 우리가 원하는 곳입니다 우리의 질문은 우리가 끝내기를 원하지 않는다 비밀번호 부분 프로세스이므로 속편 만화를 넣어 그것을 삭제하십시오

그게 – 그래서 나는 할 수 없다 우리가 뭔가를 가져야 만하는지 기억해 암호는 넣을 수 있지만 그건 중요하지 않아 뭔가 갈거야 R을 얻기 위해 편지 F를 넣었 어 비밀 번호에 대해 계속하겠습니다

이걸 실행하고 내가 모든 것을하면 그게 내가해야 할 일을해야 해 모르겠지만 희망을 갖고 우리에게 줄 것이다 플러그와 그들은 그렇게 작동하지 않았다 F 근처에서 닭고기 외식이있다 FF와 함께 뭔가 망쳐 버렸어

나는 정신적으로 질의를 어떻게 생각하니? 내 머리 속에서 일한 것 같지 않아 현실 우리는 심지어 우리가 기억하지 못한다는 것을 기억해야한다 알고있는 쿼리가 무엇인지 알 수 있습니다 우리는 그들의 질의가 그것을 볼 수 없다 방금 전에 보여 줬던 것처럼 보이지만 그건 단지 표현의 종류 였어

그래서 이걸 가지고 놀아 보자 더 많이 그래서 나는 또 다른 비용 Rafi와 내가 느끼기 때문에 비밀 번호에 대한 사용자 이름 필드가 맞다는 확신 이 아포스트로피 또는 하나는 하나와 같다 의견과 오류는 구체적으로 넣은 가치에 대해 불평하다 비밀 번호 필드 그래서 나는 초점을거야 암호 입력란에 아스트라 패스워드 패스 요금 그냥 무슨 일이 일어나는 지 알아봐 우리는 우리의 깃발을 완벽하게 맞았습니다 당신이 볼 수 있도록 백업하자

사용자 이름에 아포스트로피 공간이 있거나 space one은 1과 같고 우리의 코멘트에는 어느 것이 – 그리고 그것은 전체를 삭제합니다 비밀 번호 부분과 솔직히 나는 잘 모르겠다 왜 내가 뭔가를 가져야 만 했어 암호 또는 아포스트로피와 필자의 필명 쿼리의 종류를 가져와야합니다 관련성이없고 처리도되지 않는다

하지만 분명히 그건 사실이 아니에요 내가 볼 수 없기 때문에 정말로 모른다 쿼리는 중요하지만 중요하지 않습니다 계속 전진하다 그리고 계속 나아가는 깃발이있어 4 번으로 그 슬픈 그런 청원 콜렉션 시작 시간 여기서 여기 괜찮아

우리는 다른 로그인 화면 및 시작점 밖으로 우리는 두건의 밑에 본다 좋아요 그렇습니다 다른 모든 사람들과 마찬가지로 꽤 간단한 형태의 아무것도 공상이지만 우리가 가지고있는 흥미로운 점 여기 우리는이 작은 링크를 가지고 있습니다 소스를 클릭하자 분명히 이것이 출처로 보인다 우리가 사용하던 로그인 폼의 코드 그냥 그렇게 보자 우리가 깃발을 가지고있는이 진정한 모습을 보라

그래서 분명히 우리 깃발이 안에 있어요 우리는 이것에 접근하고 싶다 변수 어떻게 든 우리는 사용자 이름과 비밀번호도 우리에게 숨겨져 있습니다 우리는 그들의 사용자 이름과 암호 그것은 어떻게 든 우리가 얻고 싶다 해당 정보에 대한 액세스 권한은 이 두 개의 if 문이 있으므로 첫 줄은 기본적으로 사용자 이름에 대한 가치가 있고 우리는 가지고 있습니까? 그것이 사실이라면 암호 값 이동하지 않는다면 그냥 방금 나가십시오 말하지 마시고 양식을 보여주십시오

그들에게 아무것도 그들에게 로그인을주지 말라 양식에 사용자 이름과 패스워드를 입력하면 다음 if 진술 및이 if 진술 문자열이이 사용자 이름과 비교되는 경우 에 비해 하드 코딩 된 사용자 이름 입력 된 사용자 이름 로그인 필드에 그 결과로 0이고 그게 사실이고 똑같은 것이라면 암호도 일치합니다 그 다음에 펼쳐져있는 화면 또는 당신이 웹 페이지를 알고 있으므로 이걸보고있을 때 알아 거기에 전체가 많이 없다는 말은 너를 의미한다 기본적으로 멀리 벗기기 시작하고 싶다

당신이 아는 어떤 가치가없는 것이 무엇인지 없애다 객관식 테스트를 치는 것과 같습니다 당신은 그 답변들을 제거하는 것을 압니다 너 잘못 알고 그냥 너를 봐 가능성을 알고 그 생각 너가 할 때 많은 시간을 참는다 상대방을 볼 때 정말 어떤 종류의 문제라도있는 것입니다

그것은 인코더 또는 정말로 당신이 알고 있습니다 모든 상자를 멀리 뚫 으려고 노력한다 중요하지 않은 물건들 보유하고있는 데이터를 살펴 봅니다 당신에게 가치있는 가치를 부여하고 그걸로주의를 기울이자

이 코드는 우리가하지 못하는 것을 제거합니다 우리가 깃발을 필요로하지 않아서 필요합니다 우리가 할 수있는 일은 아무것도 없다 사용자 이름으로 할 수있다 음, 우리는이 성명서를 가지고있을거야

에 우리는 두 번째 if 성명서와 그 것이 전부입니다 정말로 정말 우리가 사용해야 만합니다 구멍을 뚫 으려고하는 성명 어떻게 든 앞으로 나아가려면 그걸 잘 봐라 그게 네가 알기 만하면된다는 뜻이야 기본적으로 말하는 것은 사용자가 게시 한 내용입니다

null이 아닌지 당신이 알고있는 null입니까? 의미는 값을 입력 한 다음 이동합니다 에 너무 악용 할 것이 없다 거기에 설정된 기능이 없습니다 적어도 내 지식에 그렇게 악용 될 수있다 다음 줄로 가보자 다음 줄은 비교 문자열이고 그게 우리가 계속하는 모든 것입니다

그 줄은 두 가지 예입니다 문자열 비교는 그것이라고 생각한다고 문자열 비교 그게 뭔가 다른 것이지 우리가가는 유일한 기능입니다 거기에 가자 이것에 대한 PHP 문서를 보라

기능과 그것이 무엇을 말해야하는지 보아라 그래서 그것은 두 개의 문자열 곰 값을 취합니다 우리는 이렇게 알면 반환 값이 0보다 작 으면 문자열 하나가 문자열 2보다 작음 0보다 큰 문자열 1이 더 큽니다 문자열 2보다 같고 값이 같으면 0입니다 초점을 맞추는 마지막 요소 또는 이것이 우리에게 중요한 이유는 이 사용자 이름이 같으면 코드가 여기에서 작동합니다

이 사용자 이름 다음 우리는 0을 얻어야한다 그리고 우리가 0을 얻는다면 그것은 사실입니다 괜찮은 작은 예가있다 이제 내가하고 싶은 것은 이것이다 기능 악용 가능 예 선생님 어떤 식 으로든 이 기능을 이용하여 아마 그 일을하게 만들거야

내가 할 때마다 그러지 않으려 고 했어 상황이 어떤지 모르겠다 특정 기능은 아무것도 나는 단지 Google에 가서 입력 함수 이름과 익스플로잇을합시다 해봐 그래서 우리는 몇 가지 물건을 찾는다

이걸로 좋아 그러면 여기서 볼 수 있듯이 하고있는 사람에 대한 블로그 게시물 깃발을 쥐고 비슷한 물건을 발견하다 응용 프로그램 및 유사한 상황과 그는 당신에 대한 회담은 어떻게 당신이 악용 할 수 있는지를 안다 이 사실을 알기에 당신이 알지 못한다면 문자열 비교 함수를 아는 법 당신이 제대로하고 있다고 알고 착취 당할 수있다 결국 당신이 원하는 연구가 너를 가로 질러 그와 같은 게시물을 안다 어떻게해야하는지 알려주니까요

기본적으로 어떻게 작동하는지 단일 변수 대신 배열 그리고 그것은 당신이 알 수있게 해줍니다 실제로없는 0의 가치 모든 종류의 사용자 이름 또는 어떤 종류로든 입력 암호는 꽤 간단하다 나는이 마이크에 숨 쉬지 않고있다 어쨌든 나에게 정말 고맙다 앞으로 이것을 이용하려고 노력하자

우리 응용 프로그램으로 돌아 가라 우리가 코드를 입력하면 사용자 이름과 비밀 번호 그래서 가자 그리고 그냥 짐을 넣자 간단한 암호 사용자 이름 암호 우리가 나쁜 로그인을 위해 얻는 것을 모두보십시오 맞아 이번에는 다시 해보 죠 우리는 요청을 수정하고 우리가해야 할 일은 변수를 돌리는 것뿐입니다 배열로 그리고 어떻게 그렇게 할 수 있을까요? 그냥 괄호를 추가하면된다고 생각합니다

바로 그 것들을 괄호 안에 넣었습니다 티저 이름을 추가하면됩니다 암호 기억하기 때문에 기억하고있다 사용자 이름과 암호 확인 그렇지 않으면 둘 다 그렇지 않으면 0이어야합니다 실패 할 경우 사용자 이름을 설정합니다

배열에 저장하고 암호를 다음과 같이 설정합니다 배열 및 방법에 따라 문자열 비교 기능은 우리는 사용자 이름이나 암호가 없습니다 여전히 가치를 되돌릴 것입니다 비록 그것이 무엇을하고 있지 않더라도 제로 프로그램이 실제로 기대되거나 의도 된 프로그램 이렇게하면 우리에게 제로를 줄 것입니다 가서 시도해 보자

그래서 우리는 그 패킷과 빙고를 보낼거야 우리 깃발이 굉장히 좋아 계속 나아가 자 나는 마지막 세트를 믿는다 깃발 예, 우리는 방금 그걸했습니다

확인하다 내가 그녀를 쫓아 낼거야 우리가 Oreo에 위에있을 정도로 모든 권리 로그인을하고 여기에 계좌 버트 단짝을 켜고 그냥 보자 우리 괜찮아 우리는 여기에 쿠키가 있고 PHP가 있습니다 세션 ID와 세션 ID 당신은 기본적으로 당신의 승인과 같습니다

당신은 웹 사이트가 이것을 사용할 수 있음을 알고 있습니다 언제든지 웹 사이트를 인증 할 수 있습니다 세션 ID에 로그인하면 어떻게 든 누군가가 그것을 포착한다면 세션 ID를 넣으면됩니다 쿠키를 저장 한 다음에 로그인 할 수 있습니다 너는 어떤 종류의 비밀번호 또는 그와 같은 모든 것 신분증 당신은 세션 하이재킹이 그렇게 일어난다는 것을 알고 있습니다

이 응용 프로그램을 살펴 보겠습니다 우리가하는 일이 그렇게 진행되는지 확인하십시오 정말로 내가 관심을 갖는 유일한 것 그 요청에 그렇게 보았습니다 로그인 페이지를 보면서 언제나 당신은 가치있는 것을 얻지 못합니다 돌아 가라

계정 페이지를 확인해 보겠습니다 비밀 번호를 계산하자 카운트를 만듭니다 ABC 암호 1을 계산합니다 2 3 그걸 가지고 놀자

그냥하자 시험 이걸로 지금은 속편이어서 계정 만들기 abc123 괜찮은 계정 만들어져 돌아 가자 로그인 좋아, 우리는 환영 받는다 다시 ABC 그래서 우리는 우리가 할 수있는 두 가지 옵션이 있습니다 우리가 생각하는 티켓을 얻을 수있는 곳에서 로그 아웃하십시오

우리는 표를 봐야한다 티켓이 발매 된 것을 압니다 나는 우리가 생각하는 티켓을 만드는 링크가있다 내가 쏜 모든 것을 여전히 만들어야한다 우리 세션 ID 난 그냥 잔소리 했어

내가 확인하기 위해 녹음하고 있지 않다는 느낌 그래도 알았어 녹음 중이 야 그래서 내가하고있는 일이 언제인지 알지 당신은 긴 여행과 당신을 떠납니다 집에서 3 시간이나 떨어져서 그럼 오, 오븐을 내버려 두라고 생각해

우리가 가질 정도로 그렇게 다시 돌아오고있어 두 필드는 소스를 살펴 봅니다 다시 아무것도 공상 좋아, 그렇게하자 그냥 가서 티켓을 만드십시오 우리가 뭘하게 될지 시험 테스트 8 티켓을 만들 세션 ID 매개 변수는 평범하지 않다

너는 우리가 만들려고하는거야 모든 것을 확실히 확인하십시오 너 괜찮아, 우리 티켓이있어 읽지 않은 채로 읽지 않은 상태에서 테스트를 볼 수 있습니다 테스트 그래서 농장 시동기를 보자

속편이 있는지 봅시다 여기에 속편 주사 없음 이것들은 모두 시스템 실행이었습니다 어쩌면 이것이 파이프를 가졌는지 보러 갈거야 마치 우리 명령을 통해 속편과 비슷한 것을 만들어 보자 주사하지만 커맨드 라인을위한 더 많은 것 스크립트와 쉘 스크립트는 필드에 많은 데이터를 던져 보자

무슨 일이 일어나는지 보아라 이것은 지금 너의 독서를 가져 가라 그들의 아무 문제 없어 티켓을 가지고 가지 않고도 티켓을 삭제할 수 있습니다 Y 화면을 잘 보도록하자

교차 사이트 스크립팅 그 표식 오 헤이 그걸 봐 모든 스크립트가 작동하지 않고 본문 제목 때문에 그렇게 일 했어 좋아요, 그래서 우리는 앱이 사이트 간 스크립팅에 취약하다 알았어 그래서 생각해 보자

이걸 다시 아시다시피 당면한 상황에 대해 당신은 무엇을 압니까? 수집 한 모든 정보를 수집하십시오 그 종류의 모든 것에 집중하라 그렇지 않으면 옆으로 밀어 넣어 두 번째로 우리는 사이트의 취약성을 안다 우리가 알고있는 크로스 사이트 스크립팅 공격 세션 ID가 두 개가 함께하면 점을 연결합니다 그렇지 않으면 우리는이 사실을 잘 압니다

사용자가 제출하는 애플리케이션입니다 기본적으로 문제 티켓을 좋아한다 헬프 데스크 및 헬프 데스크 직원 이 티켓을 읽고 분명히 거래한다 문제가있다 일반적으로 사이트 간 스크립팅으로 당신은 기본적으로 다른 사용자의 행동 또는 도용 자격 증명으로 로그인 할 수 있습니다

사용자는 잘 생각해 보니 우리가하는 정보 우리가하는 정보 우리가 지금 벌써부터 우리가 내려야 할 길을 의미합니다 우리가 필요로하는 여전히 자격 증명은 기본적으로 헬프 데스크의 PHP 세션 ID 너는 행정관을 안다 그래서 우리가 할 수 있기 때문에 우리는 이것을 할 수 있습니다 우리 자신의 자바 스크립트 코드를 삽입하고 자바 스크립트는 쿠키 및 우리가 너에게 언어를 알게 해준다 다른 일을하기 위해 코드를 작성하십시오

왜냐하면 지금 우리가해야 할 일을 알았으니 우리가 어떻게 될지 알아 내야 해 우리가 어떻게 든 그것을 얻을 필요가있다 관리자 세션 쿠키와 우리에게 전송 어떻게 든 우리는 그것을 어떻게 얻을 것인가? 이것이 쿠키 ID입니다 미친 짓을하는 코드를 작성하는 것입니다 타르 코드 우리의 현재 세션 우리의 현재 세션 쿠키 ID를 코드에 추가합니다

기본적으로 관리자를 업데이트하십시오 이제 쿠키 ID로 쿠키 ID를 관리자는 기본적으로 다음 계정으로 로그인됩니다 우리 전에 그것 미안해 우리는 백업이 필요해 실제로 그렇게 그것은 우리가 첫번째 일이 될 것입니다 관리자를 기록 할 것입니다

변수에 쿠키를 기록한 다음 로그에 기록합니다 그때 우리는 새로운 것을 창조 할 때 티켓 및 티켓은 관리자를 배치합니다 세션 ID를 해당 티켓으로 관리자에게 다시 로그인하십시오 그런 다음 페이지를 새로 고침하십시오 관리자가 최소화 한 실제로 본 다음으로 로그인 할 수 있습니다

나 자신이 그 티켓을 읽은 다음 복사 관리자 쿠키 ID 많은 일과 많은 것들이있다 잘못 될뿐만 아니라 양식은 게시물을 사용합니다 그래서 우리는 Ajax를 JavaScript 및 그 것이다 그것이 불가능하다는 것을 말하는 것은 아닙니다 많은 링크와 더 많은 링크가 있습니다

네가 가질 수있는 더 큰 기회를 가져라 거기에는 더 많은 것이있다 우리가 필요로하는 잠재적 인 실패 지점 보다 단순화 된 방법을 제안한다 쿠키 IDE를 우리 손에 넣기 그래서 내가 가지고있는 그 다음 생각은 시도한 것은 작동하지 않았다 이미지 ID 태그에 키 ID를 주입하는 방법 그리고 ok는 내가 결국 그렇게 여기에서 되돌아 가게하게한다

내가 생각할 수만 있다면 HTML을 해당 티켓에로드하십시오 그러면 이미지 태그를 삽입 할 수 있습니까? 웹상에서 이미지를 요청하는 내가 액세스 할 수있는 서버 이미지 이름은 실제 관리자 쿠키 ID이므로 아이디어는 기본적으로 나는 웹 서버가 필요하다 로그를 읽을 수 있도록 액세스 권한이 있습니다 파일을 만든 다음 일부 JavaScript 코드를 형성하십시오 기본적으로 이미지를 요구합니다

내 웹 서버에서 거대한 로그 파일을 읽을 수있는 쿠키 ID 복사를하면 복사 할 수 있습니다 관리자 ID가 괜찮아요 모든 것이 당신에게 의미있게 만들어 졌으면 좋겠다 그냥 계속 지켜 보는 것이 아니라면 계속해라 그래서 먼저 먼저하자

우리가이 일을하도록 내버려둬 우리는 신선한 것을 가지고있다 로그 파일 그래서 지금 내보고있다 과거의 공격 다시 철자가 중요하지 않습니다 였다 아무도 좋아, 그렇게 됐어 우리가 로그 파일을 가져 왔어

그래서 지금 나는 약간의 JavaScript가 필요하다 그래서 나는 그냥 나처럼 여기에 쓰려고 처음에 내가로드하려고했다 이미지 태그를 HTML로 렌더링합니다 아무 것도 작동하지 않는 것은 시체가 없다는 것입니다

태그 또는 거기에있는 모든 종류의 필드 ID가있는 div를 추가하려고합니다 영원히 내가 너무 일하지 않았어 내가 끝낸 것은 단지 관리자 쿠키를 변수를 사용한 다음 JavaScript를 사용하여 URL을 여는 창 열기 기능 로드하기가 어렵습니다 그렇게 해봅시다 쿠키 문서의 변수 도트 쿠키 다음에 창을 연 다음 우리 URL 쿠키 일관성을 유지하다 나는 그렇게 생각한다

그게 다 좋아 보인다 당신 알았어, 잘될 것 같아 모두 나는 그 intertitles가있는 약간의 쓰레기와 함께 내기를했다 여기에서 더 큰 표가 바로 일하고있어 우리를 위해 도망 쳤어 야했다

나는 그렇지 않다 그것이 실제로 그것을 창조했는지 그리고 그것이 우리가보아야 할 우리를 위해 막 달렸어 로그 파일의 내용을 참조하십시오 그 단어가 그렇게 확실하지 않다 당신 당신 그래서 이것은 실제로 나는 그것을 어떻게 발견 했는가? 그것은 단지 위생적이다

설명 입력 입력란은 대문자로 쓰면 소문자 스크립트 너는 달릴 수 없다 거기에 스크립트가있어서 우리가 도망 갈거야 여기에 그리고 나는 이것이 아주 좋다라고 생각한다 계속하자

그것은 만들어졌습니다 읽어 보지 못했다고 말하는 티켓 법에있는 모든 것 그걸 확인해 뭔가 이상하지 않은 것 같아 그래서 그것은 작동하지만, 무엇이든지 보자 로그 파일은 내가 망쳤다면 궁금해

어떻게 든 대체 어딘가에 오 예 그렇게 해 보겠습니다 오래 된 하나의 다시 다시 들어 가자 좋아, 이걸 다시 채워 보자 웹 서버에 도달했습니다 다시 좋아, 그 시간에 일 했으니 여기에 우리가 간다

관리자 쿠키 세션 ID를 볼 수 있습니다 요청 오, 아니에요, 그건 사실 우리 야 그건 맞지 않아 관리자는 방금했으나 지금 작업 중이므로 Apache를 다시 시작해야했습니다 나가 그것을 바르게하는 방법을 바란다

내가 살아있는 동안 나는 로그 파일을 살았다 어쨌든 이제는 달리자 음 이 소스를 보자 다시 기본적으로 이걸 실행해야합니다 한번 더 서둘러서 티켓을 다시 만들어라

그리고 티켓을 만들어라 우리 모두는 그렇지 않다 이걸 움직일 방법을 보자 티켓이 곧바로 읽히는대로 곧 거기에 간다 여기에 우리의 세션 ID가 있습니다

관리자가 지금 당장 복사했습니다 그렇게 지금 우리가하고 싶은 일 로그인을 원한다면 돌아가서 우리를 리프레시하자 이 페이지는 우리의 세션 ID입니다 앞으로 클릭하여 클릭하십시오 앞으로 우리의 손가락을 굉장한 크로스 다시 환영하는 관리자를 볼 수 있습니다

관리자가 아니므로 관리자를 클릭 할 수있는 두 가지 옵션이 있습니다 버튼을 누르거나 로그 아웃하면하자 관리자 링크를 클릭하십시오 오, 나는 관리자 세션 ID 나는 그것을 설정해야한다 그래서 새로 고침하자 그것을 새로 고침 할 때 다시 되돌립니다

전진 붐 바로 거기에 마지막 깃발이 있어요 거기에 처음 다섯 레벨이 있습니다 아래로 점수 판을 보러 가자 그래서 백 명이 있고 어디서? 우리는 처음 5 단계로 40 살입니까? 그래, 거기있어 트림 스위트의 아주 기본적인 사용법 그럼에도 불구하고 매우 효과적입니다

우리가 방금 기본적으로 5 번을 노크하는 것을 보았습니다 당신을 사용하는 도전은 단지 프록시를 안다 리피터 기능이 훨씬 더 많습니다 그걸로 당신은 잘하면 우리는 그 중 일부에 들어가기 우리가 이 도전들은 아마 할거야 이 캡쳐 더 플래그에 대한 더 많은 비디오 예, 그것은 그것을 위해 사람에게 감사 할거야

당신이 비디오를 좋아하는지 지켜봐주세요 엄지 손가락으로 구독해야합니다 내 미래의 모든 동영상을 확인할 수 있습니다 친구가 있다면 너는있을거야 관심이 있으시면 언제든지 그들에게 내가 고마워한다

내가 잠을 자야 겠어 도망 간다 너를 볼거야 반대쪽에있는 남자들

How Hackers Hack, and How To Stop Them

너는 항상 그것에 대해 듣는다 "큰 은행이 파산했다" "Templar 사이트가 해킹되었습니다

" "Ashley Madison 웹 사이트는 관계에 해킹되어 현재 사람들 그들은 누가 그들을 배신하는지 알고있다 " 그러나 그것은 단지 그 이상이며 우리가 영화에서 보는 것만 큼 매력적이지 않습니다 획기적인 기능은 키보드에서 손으로 마술 단어를 작성하는 것이 아닙니다 그리고 다른 판에있는 다른 손 두 사람이 한 접시 만 사용하는 것이 아닙니다 침투가 어렵고, 일반적으로 좋은 계획과 상대적으로 긴 시간이 필요합니다

해커를 막는 것은 더욱 어렵습니다 그러나 어떤 사람들은 그들을 멈추기 위해 많은 시간과 노력을 기울입니다 침입은 권한이없는 사람이 컴퓨터 시스템에 액세스 할 때 발생합니다 해커가 들어올 때 그는 그들을 액세스하십시오 우리는 사람들이 페이스 북이나 트위터에 대한 자신의 계정이 해킹 당했다고 말하지만, 그렇지 않습니다 우리가 여기서 말하는 것입니다

개인 계정이 도용 된 경우 해커가 암호를 찾으십시오 이것은 슬프지만 회사 인프라에 침투하는 것만 큼 심각한 것은 아닙니다 수십억 개의 암호를 훔칩니다 다행히 이러한 대규모 공격은 구현하기가 어렵습니다 그러나 이미 12 월에 야후가 발생했습니다

예를 들어 야후가 해킹했다고 발표했습니다 2013 년에 10 억 개 이상의 계정이 노출되었음을 알게되었습니다 보안 질문 및 비밀번호에 대한 답변이 위험합니다 따라서 회사는 해킹 공격에 매우주의해야합니다 해커가 시스템에 액세스하면 옵션이 제한됩니다

정보를 수집하고 시스템을 손상 시키며, 아니면 아무 것도 할 수 없으며 위험에 대해서만 회사에 알립니다 이것은 세 가지 유형의 해커의 차이점입니다 검은 모자 소유자가 있습니다 그들은 나쁜 놈들을 관통하고 있습니다 그들은 시스템에 들어가서 정보 또는 시스템 손상

그런데 절대적으로 불법입니다 또한 자신의 시스템에 침투하는 백인 모자 소유자가 있습니다 또는 개인이 해를 끼치 지 않고 약점을 테스트하기 위해 시스템에 침투하도록 고용되어 있습니다 수리가 가능합니다 회색 모자 소유자가 있습니다

이름에서 알 수 있듯이 그들은 해커입니다 그들은 이전 두 가지 유형의 중간에 위치합니다 그들은 정권에 해를 입히려하지 않고 있지만 불법적 인 일을하고있다 또는 비 윤리적 인 경우, 예를 들어 고용되지 않고 시스템을 망칠 수 있습니다 그렇게하려면

그들은 정보를 훔치지 않고 나중에 회사에 알려주지 만, 그들은 인터넷상의 시스템 취약점을 공개합니다 그러나 유형에 관계없이 모든 방법이 사용됩니다 침투에서 크게 달라지지 않습니다 당신이 흰 모자 주인이고 약점을 찾기 위해 시스템을 테스트하고 있다면, 당신은 검은 모자 주인이하는 모든 일을하는 법을 알아라 해리포터 시리즈에서 흑 마술을 방어하는 것과 같습니다

어떻게해야하는지 알 필요가 있습니다 어두운면을 가지고 있으므로 자신을 보호 할 수 있습니다 화이트 모자 소유자가 수행 한 테스트는 테스트 침투 또는 펜 테스트입니다 시스템 취약성을 테스트 한 다음 추가합니다 흑인 모자의 소유자와 마찬가지로 피해

이것은 기본적인 과정이며, 그 단계를 보면 우리가 원리를 아는 데 도움이됩니다 해킹을위한 기본 일반적으로 침투 테스트의 첫 번째 단계는 정보 수집을 탐색하거나 정찰하는 것입니다 자신의 시스템에 침투하는 최선의 방법을 발견하는 목표 예를 들어, 검은 모자 소유자 인 경우 운영 체제 유형을 알 수 있습니다 적절한 공격을 활성화하기 위해 대상 컴퓨터에서 사용되는 이 시스템들 화이트 모자 주인 인 경우 액세스 할 수있는 데이터 유형을 알 수 있습니다

어떤 약점을 수정해야하는지 확인하십시오 탐사에는 두 가지 유형이 있습니다 : 겉보기와 숨김 해커가 다른 사람과 통신하지 않고 데이터를 수집 할 때 숨겨진 탐색이 발생합니다 대상 컴퓨터 주로 공개 된 정보를 검색하는 방법을 포함 해 다양한 방법으로이를 수행 할 수 있습니다 사이트에있는 파일 등

검은 모자 주인은 하드 드라이브를 대상에서 훔치려 고 시도 할 수 있습니다 비밀리에 탐사하는 데 오랜 시간이 걸릴 수 있지만 검은 모자 소유자가 사용하는 경우 부적절한 활동에 대한 증거가 없기 때문에 회사가 공격을 탐지하고 거부하는 것은 어렵습니다 이 경우 침입자는 회사 시스템에 접근하지 않으며 공격이 있다는 경고는 없습니다 그것은 계획되고있다 이를 피하기 위해 회사는 공개적으로 증거를 남기지 않도록합니다 그러한 데이터가 무해한 것으로 여겨지더라도 불필요한 데이터를 파괴합니다 그것은 또한 쓰레기통에 하드 드라이브를받지 않는 것이 가장 좋습니다

명백한 탐색은 해커가 다음과 같은 중요한 정보를 알고 자 할 때입니다 회사는 회사 시스템과 직접 통신합니다 해커는 이러한 방식으로 더 빠르게 정보에 액세스 할 수 있지만 탐지하기 쉽습니다 이는 회사가 컴퓨터와 통신하는 것을 추적 할 수 있기 때문입니다 다른 컴퓨터에 데이터를 제공하는 중앙 컴퓨터 인 서버에 연결합니다

이상한 장치가 네트워크에서 감지되거나 이상한 명령이 전송되면, 회사는 이러한 명령을 보내는 주소를 차단하는 등의 조치를 취할 수 있습니다 그래서 흰 모자 홀더의 경우, 침투 테스트의 일부는 명백한 탐험을하는 것입니다 블랙 햇 보유자가 많은 것을 알지 못하도록 방지 조치를 취했는지 확인하십시오 이것은 보통 열려있는 연결, 즉 포트를 검색하여 수행됩니다 각각의 열린 포트는 장치와 인터넷 사이의 링크 역할을합니다 교환 할 데이터입니다

해커가 열린 포트를 사용하여 공격 코드를 보낼 수 있으므로 위험 할 수 있습니다 장치 흰 모자를 쓰는 사람에게 오픈 콘센트를 찾으면 다음 단계는 다음을 확인하는 것입니다 이 포트를 실행하는 하드웨어 유형과 사용하는 운영 체제를 확인할 수 있습니다 그것이 바로 검은 모자 주인이하는 일이기 때문입니다

검은 모자의 소유자가 공격을 시작하기에 충분한 정보를 수집 할 수있는 것으로 밝혀지면 어떤 포트가 열려 있는지 생각하고 장치가 감지되지 않도록하는 방법을 찾아야합니다 해당 데이터에 대한 정보 일반적으로 대부분의 포트를 가능한 한 닫아두기를 원할 것입니다 이를 수행하는 한 가지 방법은 방화벽, 전체 프로그램 또는 장치 사용 그 기능은 컴퓨터에 대한 원치 않는 액세스를 방지하는 것입니다 방화벽 기능은 또한 컴퓨터 포트를 추적하여 열린 포트는 열린 채로 있어야합니다

방화벽은 경비원처럼 모든 문을 닫아야합니다 탐색 단계가 끝났으므로 이제 공격에 대한 보호로 넘어갈 수 있습니다 특정 운영체제의 존재를 악용합니다 사용중인 하드웨어 목록과 사용하는 운영 체제 버전을 작성하기 만하면됩니다 그리고 알려진 돌파구가 있는지 확인하십시오

사람들이 일종의 하드웨어 나 소프트웨어를 악용 할 수있는 방법을 발견하면 무엇이 인터넷에 게시됩니다 운영 체제 또는 소프트웨어 제조업체에서이 문제를 해결하려고합니다 그러나 픽스와 업데이트가 시스템에서 직접 실행되지는 않습니다 기존 시스템과 취약한 시스템에서 작업하고 있는지 여부를 확인하는 것이 중요합니다 물론, 블랙 햇 소유자는 새로운 버전을 보급하기위한 새로운 방법을 고안 할 수 있습니다

그러나 이것은 많은 노력과 기술이 필요하므로 일반적인 돌파구에 대한 보호는 해킹 당하기 어렵게 만듭니다 침투 테스트의 또 다른 부분은 웹 사이트와 관련이 있습니다 각 웹 사이트에는 볼 수있는 부분이 있습니다 YouTube와 마찬가지로 다양한 채널과 동영상 페이지를 볼 수 있습니다 너는 나를 볼 수 있고 나는 내 손으로 이것을하고있다

그러나 각 사이트의 관리 측면에도 페이지와 파일이 있습니다 너는 그것을 보지 말아야한다 이 페이지에는 개발자가 사이트를 관리하는 데 필요한 정보가 포함되어 있거나 파일이 사용자 이름 데이터베이스 및 주소와 같은 공용 액세스 권한 이상적인 경우, 아무도 무작위로 나오지 않도록이 파일을 보호해야합니다 특정 주소를 쓰는 것만으로 연락하십시오

누군가가 파일에 액세스 할 수 있는지 알아 보려면 블랙 햇 소유자가 수행하는 작업을 수행해야합니다 다른 주소를 사용해보고 페이지 또는 파일을 찾을 수 없는지 확인하십시오 대중에게 다가 가기 이렇게하려면 사이트를 매핑하는 프로그램 인 크롤러를 사용해야합니다 다른 링크를 방문하십시오

특정 프로그램을 사용하여 여러 주소를 시도 할 수도 있습니다 이 정보를 포함합니다 예 : yourwebsitecom/info 또는 / files 또는 기타 페이지 크롤러가 오류 페이지에 도달하면 이는 중요한 가이드입니다 회사는 오류 페이지에 정보가 포함되지 않도록해야합니다

침입자가 그것을 공격했습니다 오류로 인해 페이지가 "비공개"라고 표시되면 해커에게이 페이지가 시스템에 침투 할 수 있다면 큰 목표가 될 수 있습니다 따라서 오류 페이지에 나타나는 정보에주의하십시오 사이트의 다른 부분은 사용하는 양식과 같은 양식을 사용하는 페이지를 포함합니다 배송 주소를 입력하거나 데이트 사이트에서 수백 가지 질문에 답변하십시오

이 양식이 잘 포맷되어 있지 않으면, 검은 모자 소유자가 보낼 수 있습니다 시스템에 유해한 코드 이 코드는 대개 데이터베이스에서 정보를 추출하는 데 사용됩니다 사용자가 입력 한 신용 카드 번호와 같이 회사에서 사용합니다 따라서 사이트에서 검색을 위해 양식에 입력 된 데이터를 확인하는 것이 중요합니다

의심스러워 보일 수 있으며 직접 해킹하여 보호 방법을 테스트하는 것이 중요합니다 침투를 테스트하는 몇 가지 단계가 있지만 기본적인 단계 일뿐입니다 테스트가 끝나면 결과를보고 버그를 수정해야합니다 그럼에도 불구하고 회사의 시스템은 모든 해킹 시도로부터 완전히 안전하지 않을 수 있습니다 검은 모자 주인은 항상 시스템을 깨뜨리는 새로운 방법을 생각하고 있습니다

정부 나 고위급 조직과 같은 구체적인 목표가있는 경우 소유자는 흰 모자는 항상 공격에 대해 경고해야합니다 그러나 보안 위협을 추적하는 한, 그들은 검은 모자 소유자보다 앞서 있습니다 언제나 한 발짝 움직였습니다 야후는 그렇게하지 않았습니다 그들은 강력한 방어력을 가지고 있습니다 Pation 플랫폼에서 후원자를 후원 한 SciShow 에피소드를 시청 해 주셔서 감사합니다

이 프로그램을 돕고 싶다면, 우리에게 돈을 기부 할 수 있습니다 우리는 그것을 사용할 것입니다 이 링크에 계속 된 SciShow 에피소드 그리고 우리와 똑똑 해지고 싶다면 다음 주소로 가서 구독하십시오

Hacking Websites with SQL Injection – Computerphile

실제로 어떻게 발음해야하는지에 대한 논쟁이있었습니다 나는 그것을 후속 주사라고 부른다

약어는 SQL입니다 어느 쪽이든 당신이 그것을 부르면, 그것은 웹 사이트를 공격하는 방법입니다 정말 더 이상 작동하지 않아야하지만 여전히 그렇습니다 Sequel 또는 SQL은 데이터베이스와 대화하는 언어로, 그리고 그것은 상당히 그것은 실제로 영어와 상당히 비슷합니다 당신은 실제로 같은 말을 할 수 있습니다, "이 표에서 선택하십시오" 복잡한 언어가 아닙니다 중괄호와 세미콜론 등의 큰 금액은 없습니다

그것은 될 수 있습니다 그러나 똑같이 거의 영어로 명령을 입력 할 수 있습니다 데이터베이스에서 결과를 얻을 수 있습니다 그리고 이것은 수년과 수년 동안 존재 해왔다 그리고 웹이 올 때까지 그것은 괜찮 았습니다

지금 사람들은 웹 사이트를보고 있으며 생각하고 있습니다 "이것들은 데이터베이스에 연결되어야합니다" Tim Berners-Lee가 World Wide Web을 발명했을 때, 그것은 꽤 많이 "나는 문서를 요청할거야 그 문서를 나에게 돌려 보낼거야 " 결국 사람들은 그것을 해결했습니다

당신이 정말로하고 싶은 것은 문서를 보내는 것입니다 당신이 보낸 것에 따라 다른 것들이 돌아옵니다 어쩌면 검색 요청을 입력 할 수 있습니다 그리고 그것은 데이터베이스에 가서 어떤 것을 되돌릴 것입니다 멋지네요, 훌륭합니다

훌륭한 발명품입니다 불행히도 일부 프로그래밍 언어는이를 합리적인 방법으로 처리했습니다 일부는 그렇지 않았습니다 그리고 가장 유명한 언어 중 하나는 PHP라고하는 언어입니다 저는 PHP 코더입니다

글을 쓸 수있는 아주 쉬운 언어입니다 친절한 언어입니다 나는 여전히 코드를 개발할 수있는 다른 언어를 만난 적이 없다 내가 할 수있는 속도로 그것은 매우 내결함성이 있습니다

합리적으로 항상 최선의 결과를주는 것은 아니지만, 알다시피, 친근하고, 결정적이며 결정적입니다 당신은 텍스트 파일에 그것을 쓰거나 웹 서버에 업로드 할 수 있습니다 (세계 대부분) 그것은 효과가있을 것입니다 PHP 코드를 입력하여 실행하면됩니다

그래서 진입 장벽은 정말로 낮습니다 어느 쪽이 영리한 지 웹 프로그래밍을 훨씬 더 쉽게 이용할 수있게 해줍니다 Facebook은 원래 PHP로 작성되었습니다 무수한 것들은 원래 PHP로 작성되었으며 많은 것들이 여전히 있습니다

워드 프레스는 여전히 있습니다 문제는 조심하지 않으면 잘못 될 수있는 방법이 많다는 것입니다 그리고 이것은 PHP 만있는 것이 아닙니다 예제로 사용하겠습니다 이와 같은 명령을 실행하여 데이터베이스와 대화합니다

SELECT * FROM 사용자 사용자 이름이 같은 위치 "남자 이름" 큰! 그리고 데이터베이스는 "tom"이라는 사용자에 대해 알고있는 모든 세부 정보를 다시 보냅니다 훌륭한! 그러나 캐치는 그 따옴표입니다 내가 보내는 것을 조심하지 않으면, 그러면 우리는 몇 가지 문제를 일으킬 수 있습니다 예를 들어, 로그인 할 수있는 웹 양식이 있고 톰을 입력한다고 가정 해 봅시다 그것을 보내고 "톰"을 다시 가져옵니다

승인? 이제 톰에 따옴표를 넣고 타이핑 해 봅시다 주의를 기울이지 않으면 언어가 이런 식으로 보낼 것입니다 SELECT * 사용자로부터 사용자 이름 같음 "톰"다음에 따옴표를 넣은 다음 따옴표를 넣습니다 따옴표가 일치하지 않아 실패합니다 그리고 모든 것이 충돌하고 단지 오류를 되돌려 보냅니다

그것은 약간 성가시다 물론 큰 문제는 따옴표가있는 텍스트를 넣는 것입니다 캐치는 그렇게 많은 피해를 줄 수 있다는 것입니다 그 언어는 단지 SELECT를 가지고 있지 않기 때문입니다 새로운 물건을 추가하려면 INSERT가 있어야합니다

그것은 물건을 변경하려면 업데이 트했습니다 그리고 물건을 지우기 위해 DELETE가 있습니다 그래서 제가 보내려한다면, 말하자면, '톰'인 사용자 이름; ', 거기에 또 다른 명령을 넣으십시오 '모든 것을 삭제하십시오' 그 문자 그대로의 명령이 아니라 그와 비슷한 것입니다

그것은 효과가있을 것이다 그래서 우리는 어떻게 작동하는지 살펴 봅니다 우리는 정상적인 명령을 가지고 있습니다 "SELECT * FROM users 어디에서 username [mumbles] 'tom' "" 거기에 긴 명령 하지만 네가 '톰'을 넣을 때, 나는 그것을 보낼거야

그리고 나서 이걸 보낼거야 모든 데이터베이스를 삭제하십시오 Enter를 누르면 일반 영어 명령으로 변환됩니다 SQL 언어로, 그것은 보내질 것이다, 데이터베이스가 갈 것입니다 "그게 내가해야할 일이야

" 세미 콜론에 새로운 명령이 있고 모든 것을 삭제해야한다는 것을 이해할 것입니다 주변의 주된 길은 벗어나고 있습니다 따옴표와 같은 위험한 문자가있을 때, 너는 그 앞에 슬래시를 넣는다 그리고 '당신'은 프로그래머가 이것을 쓰는 것을 의미합니다 당신은 통과하고, 당신은 말한 함수를 사용합니다, "어디에서나 따옴표가 있습니다

앞에 슬래시를 넣으십시오 그리고 데이터베이스에 보내기 전에, 그렇게하십시오 " 사용자로부터 입력이 들어오고, 안전을 위해 슬래시를 추가하십시오 그것을 데이터베이스로 보냅니다 그리고 데이터베이스는 그 슬래시를보고 간다

"맞아요, 그 중 하나가있을 때마다, 다음에 올거야 그냥 정규식 따옴표로 취급하십시오 특별한 것으로 취급하지 마십시오 텍스트에 있습니다 그냥 그대로 취급하십시오

" 실제 슬래시를 보내려면 두 개의 슬래시를 보냅니다 첫 번째 사람은 "다음 캐릭터를 실제 캐릭터로 다루십시오"라고 말하면서 그것은 작동하지만 clunky

그리고 잠시 동안, 이런 종류의 "보통 영어로 명령 보내기" 일을 몇 가지 언어로 작동시키는 유일한 방법이었습니다 세계에서 가장 보편적으로 사용되는 웹 프로그래밍 언어 인 PHP를 포함합니다 이 상황을 악화 시키려면 슬래시를 추가하라는 명령은 훌륭하게 다루기 힘들었습니다 mySQL (데이터베이스의 이름입니다) _레알 _탈출 _끈

그런 다음 원하는 텍스트를 입력하십시오 "escape_string"은 당신이 원하는 것을하고, "mySQL"은 데이터베이스의 이름이고, 및 "진짜", 왜냐하면 첫번째 것이 작동하지 않았기 때문에 이전 버전과의 호환성 때문에 변경하지 못했습니다 따라서 원래의 문자열을 사용한 사람은 누구나 10 년 전의 것 같은데, 하지만이 원래 형식을 사용하는 사람 : 완전히 불안합니다 패치를 작성하기보다는 "진짜"라는 단어를 추가했습니다 누가 그것을 잊었거나 모든 문서를 읽지 않았습니까? 네

누구든지 데이터베이스를 효과적으로 삭제할 수 있습니다 또는 다른 사람의 계정을 업데이트하거나 다른 사람의 암호를 읽는 것과 같은 더 미묘한 작업을 수행하십시오 일단 데이터베이스에 액세스하면 작동 방법을 알아 내면, 당신이 할 수있는 일은별로 없습니다 그리고이 문제를 해결하는 것은 쉽습니다 이 오류가 코드에서 한 번만 잘못되는 경우, 그리고 내가 잘못 이해할 수없는 많은 미묘한 방법들이 있습니다

따옴표를 피하는 것을 잊어 버리는 것만이 아닙니다 틀리게 만드는 방법은 정말 미묘합니다 그렇게하면 웹 응용 프로그램을 사용할 수 없습니다 누군가 거기에 방법이 있다는 것을 알아 내면, 사용자 이름에 따옴표가있는 사용자 이름을 만들고 시도하기 때문에, 그럼 행운을 빌어 요! 모든 사람의 암호에 작별 인사를하십시오 그것이 행해져 야하는 방식은 준비된 진술이라고 불리는 것입니다, 그리고 만약 당신이 데이터베이스와 관련된 어떤 것을 프로그래밍한다면, 지금 준비된 진술을 사용해야합니다

그들이 일하는 방식은 그것은 해킹입니다 해킹에 대한 해킹입니다

솔직히 말해서, 프로그래밍 언어로부터 그러한 종류의 평이한 영어 SQL 명령을 보내는 것, 그것은 해킹입니다 그리고 나서 우리는 그 위에 더 많은 것을 넣어야하고 그 위에 더 많은 것을 넣어야합니다 그러나 준비된 진술은 적어도 그것을 안전하게 유지합니다 준비된 명령을 사용하여 조회를 보냄니다

"SELECT * FROM users where username =" 그런 다음 '?'라고 말하면됩니다 그리고 그 물음표는, 당신은 나중에 나중에 말합니다 "맞아, 이건 내가 넣고있는 데이터 야 이것은 명령이 아닙니다 그것이 무엇이든간에 아무 것도하지 마십시오

이것은 안전하지 않습니다 그냥 가져 가서 대단히 조심스럽게 다루고 데이터베이스에 저장하고 그 이상으로 보지 마십시오 " 그것은 그보다 조금 더 복잡합니다 저는 카메라와 대화하기 위해 대규모로 단순화하고 있습니다 그리고 만약 당신이 웹 프로그래밍이라면, 당신은 당신이해야 할 일의 최근 보안 가이드 라인 등을 찾아 봐야한다

그러나, 이것이 당신이 사용해야하는 것입니다 지금 당장, 준비된 문장을 사용하지 않으면 응용 프로그램의 어느 부분에서든 실수가 발생합니다 당신이 인용 부호를 넣는 것을 잊어 버린 곳 중 하나, 또는 유니 코드 문자를 사용하는 미묘한 방식으로 엉망으로 만든다 또는 경이롭게 복잡한 무엇인가, 특히 Microsoft 데이터베이스를 사용하는 경우 그것은 Windows를 사용하는 사람으로부터 온 것입니다 준비된 진술을 사용하지 않는다면, 당신은 취약합니다

당신은 그것을 고칠 필요가 있습니다 그러나 말은 해킹이 진행됨에 따라 더 나쁜 것이 있습니다

Website hacking by PHP source code Disclosure vulnerability

윤리적 해킹 Cryptus 사이버 보안에 대해 알아보십시오 Cryptus 공인 윤리적 해커 6 개월 IT 보안 디플로마 Cryptus 사이버 보안 Pvt

Ltd 윤리적 해킹을 배우십시오 Manish Kumawat 웹 침투 테스트에 대해 알아보십시오 사이버 법의학 코스를 배우십시오 Cryptus 사이버 보안 윤리적 인 해킹에 대한 글로벌 인증 윤리적 해킹 Cryptus Cyber ​​Security 뉴 델리 학습