분류 전체보기

Programming/Web

[Web Secure] Lord of Sql Injection #6

6번 Darkelf 문제는 or 와 and 문자열을 사용하지 않고 admin 레코드를 얻어야 한다. preg_match 조건이 다르고 이미 query 문에서 id를 지정하였지만 5번 문제와 동일한 패턴으로 해결 할 수 있다.

Programming/Web

[Web Secure] Lord of Sql Injection #5

5번 Wolfman 문제는 띄어쓰기를 사용하지 않고서 admin 레코드를 얻는것이다. 4번 문제를 겪으면서 '||' operator 도 알았으니 문제는 쉽게 풀렸다.

Programming/Web

[Web Secure] Lord of Sql Injection #4

4번째 문제이다. 문제 1,2 번 처럼 pw 의 조건을 무력화 시킨다. 진짜 문제는 pw 의 값을 찾아내야하는 blind injection 이다. 그러기 위해서는 pw 길이를 찾고 모든 문자열을 대입해서 비밀번호를 찾아야 한다. 사용하는 함수는 length 와 substr 이다. length 로 먼저 암호의 길이를 찾아야 한다. 길이가 4와 8 모두 통과를 한다. 그말은 암호 길이가 4인 레코드와 8인 레코드가 모두 존재한다는 것이다. 그럼 admin 의 암호 길이는?? length 함수 옆에 조건 id=admin 을 붙여준다. 그리고 암호를 대입하는 것은 아래의 블로그에 도움을 받았다. 매크로 코드도 있어서 python으로 돌려보면 암호도 쉽게 찾을 수 있다. 여기에서 암호를 찾을 때 ascii 값으로..

Programming/Web

[Web Secure] Lord of Sql Injection #3

no query 의 조건을 or 로 무력화시키면 guest 의 레코드를 얻을 수 있다. 하지만, 문제의 조건은 guest의 계정이 아닌 admin 계정을 얻어야 한다. 그래서 이전 문제와 같이 no=10 or id='admin' 을 입력하였지만, preg_match 에서 싱글쿼드, 더블쿼트가 모두 필터링 되어 결국엔 'No Quotes ~_~' 메시지만 얻게 된다. 이걸 해결하기 위해 문자열을 string 에서 hex 코드로 변경하여 입력하면 해결 된다.

Programming/Web

[Web Secure] Lord of Sql Injection #2

2번째 문제 Cobolt DB에서 id 가 admin 인 레코드를 얻어와야 한다. query 의 조건을 id 만 만족하게 하도록 함.

Programming/Web

[Web Secure] Lord of Sql Injection #1

Sql Injection 의 첫번째 문제. 입력되는 Get 의 id query의 조건을 모두 만족하게 하고 나머지는 모두 comment 되도록 함.

Programming/C#

[C#] App & Library Platform Taget 설정

1. 개요 대부분의 프로젝트는 혼자서 만든 Application 프로젝트만 사용하는 것이 아니라 외부 참조를 사용하는 경우가 많다. 이 것이 .Net 프로젝트만 사용하면 모르겠지만 C++ native dll 파일을 참조하는 경우에는 더욱더 Platform Target 설정에 어려움을 겪을 때가 있다. 이런 상황들에 대해서 정리를 한다. 2. .Net Platform Traget 의 종류 .Net 프로젝트의 경우 Build 옵션을 보면 Platform Target을 지정하는 것이 있다. 이는 해당 프로젝트가 어떤 운영체에서 사용되기 위한 것인지를 지정하는 것이다. x86과 x64의 경우는 설정이 매우 명확하다. 하지만 Any CPU?? 이것이 바로 궁금한 내용이다. 프로그램을 개발할 때에 모든 운영체제를 ..

Programming/Web

[NodeJS] Helmet CSP 설정하기

1. CSP 란? CSP 는 외부의 스크립트 공격인 (XSS)로부터 보호하기 위한 정책이다. CSP를 설정하면 지정된 origin이 아닌 다른 경로를 통해서 들어오는 입력을 방지할 수 있다. 각 source에 대해 지정하는 parameter가 쉽게 정리되어 있는 블로그를 참조하자. CSP란 (velog.io) CSP란 먼저 CSP란 (Content Security Policy)의 약자로, 웹 브라우저에서 각종 XSS공격을 막기위해 만들어진 정책으로, 아무나 인라인 자바스크립트나 CSS를 입력할 수 없도록한다. unsafe-inline은 그냥 다 허용하 velog.io 2. NodeJs server-side CSP 설정하기 node js의 helmet을 사용하게 되면 CSP를 지정하게 되는데, 그냥 use..

Programming/Web

[NodeJS] 프로젝트 초기 설정하기

1. 프로젝트 시작 NodeJS의 root 경로를 지정하고 필요한 모듈을 설치한다. # npm 설정 npm init # module 설치 (express, helmet, ejs) npm install express helmet ejs 2. 폴더 구조 기본 폴더 구조는 아래와 같다. app.js 파일 const express = require('express') const helmet = require('helmet') const ejs = require('ejs') const app = express(); app.set('view engine','ejs') // view을 보여주는 engine을 명시함 app.set('views', './views') // view 의 위치를 알려줌 app.use('/p..

Programming/C#

Selenium 유용 코드

JQuery 추가하기 var script = document.createElement("script"); script.src = "https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"; document.getElementsByTagName("head")[0].appendChild(script); JQuery 실행 using OpenQA.Selenium; using OpenQA.Selenium.Chrome; IWebDriver driver = new ChromeDriver(); driver.Navigate().GoToUrl("http://www.example.com"); IWebElement element = (IWebElement) driv..

RichardBang
'분류 전체보기' 카테고리의 글 목록 (5 Page)