Webhacking.kr 30번 문제
오랜만이죠? 30번 문제는 550 스코어 문제네요. 다소 쉽게 생각하면 쉬운 문제이고 어렵게 생각하면 한 없이 어려운 문제가 아닐까 생각이됩니다. 30번 문제를보면 파일 입력 폼과 힌트라고 기재된 문구아래에 링크가 하나있습니다. http://webhacking.kr/challenge/web/web-15/upload/index.phps 해당 링크를 보면 아래의 코드를 볼 수있습니다. 그냥 코드 그대로 읽으세요. Mysql 연결(challenge_30_answer) 데이터베이스 셀렉트 유무를 확인하고, password 컬럼에 값을 변수 q에 대입한다. q의 값을 mysql_fetch_array('인출된 행을 배열로 반환하고, 앞으로 내부 데이터 포인터를 이동') 함수를 통해서 다시 data라는 변수에 대입한다. data변수가 참이라면 pw 값을 보여준다. 여기서 pw 변수는 숨은 패스워드를 의미하는 것 같다. 자, 무엇을 먼저 생각해야하는가? 해당 테이블에 password 컬럼에 값을 Insert 한다? 이것또한 좋은 방법일 것 같다. 하지만 난 아쉽게도 시도해보지않았다. 좀 더 쉽게 생각한다면_ 저 연결되는 부분을 내 서버또는 로컬에 연결_시키면 어떨까 하는 생각이다. mysql_connect() or die();mysql_select_db("challenge_30_table") or die();$q=mysql_query("select password from challenge_30_answer") or die();$data=mysql_fetch_array($q) or die();if($data){$pw="????";echo("Password is $pw");} 그래서, 해당 웹서버가 아파치라는 것을 감안하여 , .htaccess를 통해 php_value 값을 넣어줄 예정이다. 아래는 설정 예이다. 기본 호스트를 내가...
Find Table Names using SQL Injection
In the previous examples we cheated a little. You knew that the table containing user names and passwords was called users and you knew that it had two columns, name and password. In some cases you do not know the name of the table or the column names, but you can use the same techniques to find these out. You need to find out the name of the database that you are using. The function DATABASE() will give you that value (but you have to guess at it as before). When you know the name of the database being used you can take guesses at the names of the tables. Does the current database contain the letter j? ’ OR EXISTS(SELECT 1 FROM dual WHERE database() LIKE ‘%j%’) AND ‘’=’ Is there a table called one in database test? ’ OR EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA=’test’ AND TABLE_NAME=’one’) AND...
10 Lessons from 10 Years of Amazon Web Services
출처 : 10 Lessons from 10 Years of Amazon Web Services Werner Vogels는 아마존 CTO 이다.
메타인지
셀프 테스트, 자기가 자신을 볼 수 있어야함. 자가 학습의 중요성.
NEXTERS, 알고리즘 스터디 자료
1주차 : 알고리즘 문제 해결 전략 및 자주하는 실수, 알고리즘 복잡도 분석 및 완전탐색 유형 문제 https://goo.gl/Q0FQ5V 2주차 : 분할정복 알고리즘 https://goo.gl/aIb5Kq 3주차 : 동적계획법 알고리즘 https://goo.gl/8Pw5gx 4주차 : 선형자료구조와 스택, 큐와 관련된 알고리즘 https://goo.gl/gGF70w 5주차 : 트리와 관련된 알고리즘 https://goo.gl/tUZFNR 6주차 : 이진 검색 트리(트립)와 관련된 알고리즘 https://goo.gl/OF40Ij 7주차 : 문자열과 관련된 알고리즘 https://goo.gl/jzXsEH 8주차 : 깊이 우선 탐색 알고리즘 https://goo.gl/x4lDhF 9주차 : 너비 우선 탐색 알고리즘 https://goo.gl/uEEz1s
3 ways to define a JavaScript class
Javascript 에 클래스 개념 더하기, http://www.phpied.com/3-ways-to-define-a-javascript- class/ ** ** Introduction JavaScript is a very flexible object-oriented language when it comes to syntax. In this article you can find three ways of defining and instantiating an object. Even if you have already picked your favorite way of doing it, it helps to know some alternatives in order to read other people’s code. It’s important to note that there are no classes in JavaScript. Functions can be used to somewhat simulate classes, but in general JavaScript is a class- less language. Everything is an object. And when it comes to inheritance, objects inherit from objects, not classes from classes as in the “class”-ical languages. 1. Using a function This is probably one of the most common ways. You define a normal JavaScript function and then create an object by using the new keyword. To define properties and methods for an object created...
55 Quick SEO Tips Even Your Mother Would Love
https://www.searchenginejournal.com/55-quick-seo-tips-even-your-mother-would- love/6760/
Webhacking.kr 29번 문제
안녕하세요. 솔직히 요즘 워 게임관련해서 포스팅을 하고싶어도 귀차늠과 시간핑계로 둘러대다가 오늘 포스트를 작성합니다. 뭐 매번 같은 패턴인 것 같네요. 29번 문제는 400 스코어 문제이며 난이도는 전의 문제들에 비해 조금 있는 편입니다. 몇번의 삽질을 좀 하셔야 할 수 도있습니다. 해당 문제에 들어가면 힌트라면서 던져주는 것들이 쿼리문과 사이드쪽에 필터링 코드입니다. 추가로 *“blind sql injection으로 풀이하실경우 정답이 출력되지 않습니다. 더 간단한 방법이 존재하니 그 방법을 이용해주세요.” 라는 메모가 있습니다. 파일 폼이 보이니 일단 파일 업로드 후 서버로 요청을 해봅니다. select password from c29_tb$file_name=str_replace(".","",$file_name); 업로드가 성공적으로 잘 된것같네요. 파일을 업로드하면 Time,Ip,File(파일명)이 3가지의 정보가 보여집니다. 파일 업로드 정보를 따로 DB에 저장해두는 것 같습니다. 좀 전에 업로드한 파일로 다시 업로드를 해봅니다. 이번에는 이미 존재하는 파일이라고하네요. 파일명을 바꿔서 요청해볼까요? 등록되었네요. 동일한 파일명이 없다면 업로드 시간,아이피,파일명 세개를 기록(insert into c29_tb(time, ip, file) values(‘시간’,’ip’,’파일명’))하는 것 같습니다. 해당 아이피 기준으로 검색하여 결과값을 리턴(where ip=request ip )해주는것이라 간단하게 프로세스를 유추해볼 수 있습니다. 파일명을 통해서 직접적으로 쿼리한다고 생각하면됩니다. 즉, 파일명은 전체 쿼리문의...
구글의 새로운 자동 사용자 인증 API, Trust API
이제 모든 계정에서 비밀번호가 사라질 수도 있습니다. 지난 주 끝마친 Google IO 2016에서 구글은 자동 사용자 인증 API, Trust API를 공개한다고 발표했습니다. 요즘 웹사이트에서 점점 더 복잡한 비밀번호를 요구하면서 사용자는 비밀번호를 잘 기억하지 못하게 되었습니다. 한 사이트에 로그인을 할 때 평균적으로 비밀번호를 2.4번 잘못 입력한다고 합니다. 게다가 은행이나 공공기관 로그인에서는 비밀번호 외에도 휴대폰 인증, 이메일 인증 등 추가적인 사용자 인증 절차를 요구하고 있습니다. Project Abacus는 이런 불편함을 해결하기 위해 휴대폰의 여러 센서를 이용해 사용자를 인식하는 자동 로그인을 구현하려고 합니다. 구글에서는 이미 사용자를 자동으로 인식해 로그인하는 Smart Lock서비스를 출시한 적이 있습니다. 이 서비스는 사용자의 얼굴과 위치 정보를 인식해 자동으로 잠금이 풀리도록 하는 서비스였습니다. Project Abacus에서는 여기서 더 나아가 더 다양한 사용자 정보를 백그라운드에서 지속적으로 트레이닝 하게 하였습니다. 어플리케이션이 백그라운드에서 계속 작동되며, 사용자의 타이핑 패턴, 걷는 패턴, 현재 위치, 음성 패턴, 얼굴 패턴 등의 데이터를 받아들여 이것으로 사용자의 Trust Score를 산출하는 알고리즘을 만들게 됩니다. 그리고 로그인시 사용자의 패턴을 인식해 Trust Score가 특정...
MongoDB with Mongolab
How to Dramatically Increase Sales on Amazon
Travis CI 사용 + continuous integration 개념
우선 Travis CI에 대해 애기하기전에 CI에대한 개념을 한번 더 짚고 넘어가려고합니다. 좀 더 친근하고 재밌게 포스트하려고했는데, 다소 불쾌감을 느끼실수도있습니다. 생각나는대로 쓴 글이라 다소의 오타나 오역이 존재할수있습니다. 이런 경우 피드백 부탁드립니다. 너무나 익숙한 이 내용 continuous integration 은 건너뛰고 밑에서부터 읽으셔도 무관합니다. 지속적인 통합(continuous integration, CI). 소프트웨어 공학에서의 continuous integration은 지속적으로 퀄리티 컨트롤*(품질관리)을 적용하는 프로세스를 실행하는 것 이다. 모든 개발을 완료한 뒤에 퀄리티 컨트롤을 적용하는 고전적인 방법을 대체하는 방법으로서 _소프트웨어의 질적 향상과 소프트웨어를 배포하는데 걸리는 시간을 줄이는데 초점_을 둔다. 초기 그리고 자주통합으로 인해 발생하는 여러가지 _문제점을 조기에 발견_하고, 피드백 사이클을 짧게 하여 소프트웨어 개발의 품질과 생산성을 향상시키는 것 우리 이해하기 쉽게 한번 예를 들어볼까요 ? CI 시스템이 구축되었을 경우, 구축되지않았을경우를 아래 예를 통해서 이해해봅시다. 전자가 제일 일반적인 경우라 할 수 있겠네요. 구축하지않은 경우(일반적) : 프로그래머들이 각자 작업한 소스코드를 형상관리(SVN) 서버에 커밋하면 별도의 품질관리를 거치지않고 개발이 끝난 막바지에 통합하여 테스트를 진행. 개발 중 별도의 품질관리를 수행하지 않았기 때문에 잘못된 소스코드를 형상 관리...
배움
한 곳을 막으면, 두 곳이 늘어나고 두 곳을 막으니 세 곳이 늘어난다.
틀리지 않는 법 수학적 사고의 힘
1부 선형성 1장덜 스웨덴스럽게 2장국소적으로는 직선, 대역적으로는 곡선 3장모두가 비만 4장미국인으로 따지면 몇 명이 죽은 셈일까? 5장접시보다 큰 파이 2부 추론 6장볼티모어 주식 중개인과 바이블 코드 7장죽은 물고기는 독심술을 하지 못한다 8장낮은 가능성으로 귀결하여 증명하기 9장국제 창자점 저널 10장하느님, 거기 계세요? 저예요, 베이즈 추론 3부 기대 11장우리가 복권에 당첨되리라 기대할 때 실제로 기대해야 할 것 12장비행기를 더 많이 놓쳐라! 13장철로가 만나는 곳 4부 회귀 14장평범의 승리 15장골턴의 타원 16장폐암이 담배를 피우도록 만들까? 5부 존재 17장여론은 없다 18장[나는 무에서 이상하고 새로운 우주를 창조해 냈습니다]
오늘 무료 E-BOOK Node.js
https://www.packtpub.com/packt/offers/free-learning