第十四天:PHP 開發,輸入輸出類留言板訪問 IPUA 頭來源

1.PHP-全局變量$_SERVER

2.MYSQL-插入語法INSERT

3.輸入輸出-XSS&反射&存儲

4.安全問題-XSS跨站&CSRF等

1.輸入輸出類安全問題

反射性xss

這個先準備一個數據,隨便弄一個表名字,在隨便弄一點數據存入即可

作為連接的數據庫,然后構造搜索框和輸出回顯

數據庫配置文件

定義數據庫查詢語句,并且輸出來

而上面會出書我們搜索的3的這個回顯,如果我們插入js的代碼,js就是前端html的代碼,在代碼輸出的時候就會當作Jscript代碼去執行

輸入<script>alert(1)</script>

就會造成彈窗,這個可以盜取cookie和結合工具進行釣魚,

存儲型xss

先寫html1的留言表單

<head><meta charset="UTF-8"><title>留言板</title>
</head>
<hr>留言板<hr><form id="form1" name="form1" method="post"><p><label for="textfield">ID:</label><input type="text" name="id" id="textfield">//</p><p><label for="textfield2">昵稱:</label><input type="text" name="name" id="textfield2"></p><p><label for="textfield3">QQ:</label><input type="text" name="qq" id="textfield3"></p><p><label for="textarea">內容:</label><textarea name="content" id="content"></textarea></p><p><input type="submit" name="submit" id="submit" value="提交"></p>
</form>
<p>
<hr>
<p>留言內容;</p>
</html>

然后構造一個存儲數據的數據庫

<?php
include('config/data.php');
$i=$_POST['id'];
$n=$_POST['name'];
$q=$_POST['qq'];
$c=$_POST['content'];
//INSERT INTO `lyb` VALUES (1, 176, 485, 'zI6V87Q1ki', 'UjScLrVEDL', '6UNgmHCNfe', 'admin');
$sql="INSERT INTO `lyb` VALUES ('$i', '804', '$q', '$n', '$c', 'admin');";mysql_query($sql,$data);
echo $i.$n.$q.$c;

這里要注意主鍵不能重復,不然就不能寫入文件,我數據庫的主鍵是id是1

能正常寫入數據

之后在寫一個存儲函數的輸出

上面函數每次都會執行,因為數據庫沒有設置為空約束,所以空數據也會添加上去,所以加一個判斷條件,數據不為空的時候在執行

if(empty($i)){$sql="INSERT INTO `lyb` VALUES ('$i', '804', '$q', '$n', '$c', 'admin');";mysql_query($sql,$data);
}
//INSERT INTO `lyb` VALUES (1, 176, 485, 'zI6V87Q1ki', 'UjScLrVEDL', '6UNgmHCNfe', 'admin');$sqlc="select * from lyb";
mysql_query($sqlc,$data);
$result=mysql_query($sqlc,$data); //執行的結果賦值給變量
while($row=mysql_fetch_array($result)){ //循環,括號內是條件,row定義數組echo 'id:'.$row['flag'].'<br>'; //輸出關聯數組內容echo 'qq:'.$row['name'].'<br>';echo 'name:'.$row['id'].'<br>';echo 'content:'.$row['id'].'<br>';
}

這種就會造成存儲型xss

我們把內容換成js語句

<script>alert(1)</script>

沒訪問一次,都會談一次窗

這種存儲型xss就會把攻擊語句存儲到了對面的數據庫,而每次訪問這個網站,都會把存儲到數據庫的攻擊語句都會被查詢出來,調用執行

輸入輸出類

只要是可以輸入,并且展示出來的地方都可能存在,留言板,評論區,聊天框,私信等等

深入探討xss

而有一些網站會接受并且顯示我們的ip瀏覽器信息等等

比如站長之家

而這個瀏覽器信息我們就可以抓包,修改成xss的語句,實現彈窗,但是這個已經被修復了,把xss語句過濾掉了

就這樣只要顯示在網站界面我們可以控制的都可以嘗試xss漏洞

referer偽造

這個比如一些登錄框,點擊它之后登錄成功獲取到的referer是登錄網站的,而我們直接訪問referer就是我們的瀏覽器,有一些就會嚴重referer來源,比如是他的網站跳轉過來的才可以

ping

an

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/11468.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/11468.shtml
英文地址,請注明出處:http://en.pswp.cn/web/11468.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

排序-歸并排序(merge sort)

歸并排序&#xff08;Merge Sort&#xff09;是一種分而治之的算法&#xff0c;它將原始數組分成越來越小的子數組&#xff0c;直到每個子數組只有一個元素&#xff0c;然后將這些子數組兩兩合并&#xff0c;過程中保持排序狀態&#xff0c;最終合并成一個完全有序的數組。歸并…

《一》Word文字編輯軟件---架構設計分析

1&#xff0c;簡單介紹 今天&#xff0c;我們來模擬offic軟件中的word文檔&#xff0c;運行如圖&#xff1a; 運行程序后會出現主界面&#xff0c;頂端的菜單欄包括“文件”“編輯”“格式”“窗口”和“幫助五個主菜單。 菜單欄下面是工具欄&#xff0c;包含了系統常用的功能按…

如何判斷海外住宅ip的好壞?

在海外IP代理中&#xff0c;住宅IP屬于相對較好的資源&#xff0c;無論是用于工作、學習、還是娛樂&#xff0c;都能得到較好的使用效果。作為用戶&#xff0c;該如何判斷海外住宅IP的好壞呢&#xff1f; 穩定性與可靠性&#xff1a;海外住宅IP相比動態IP地址&#xff0c;通常具…

Java全局異常處理,@ControllerAdvice異常攔截原理解析【簡單易懂】

https://www.bilibili.com/video/BV1sS411c7Mo 文章目錄 一、全局異常處理器的類型1-1、實現方式一1-2、實現方式二 二、全局異常攔截點2-1、入口2-2、全局異常攔截器是如何注入到 DispatcherServlet 的 三、ControllerAdvice 如何解析、執行3-1、解析3-2、執行 四、其它4-1、設…

電腦提示找不到ffmpeg.dll無法繼續執行代碼怎么辦?

電腦提示找不到找不到ffmpeg.dll無法繼續執行代碼怎么辦&#xff0c;有什么好的解決辦法&#xff0c;出現這樣的彈出就會導致軟件無法打開或者是異常關閉&#xff0c;找不到dll文件&#xff0c;是一個非常重要的電腦使用問題&#xff0c;會給使用者帶來許多的麻煩。那么找不到d…

LeetCode746:使用最小花費爬樓梯

題目描述 給你一個整數數組 cost &#xff0c;其中 cost[i] 是從樓梯第 i 個臺階向上爬需要支付的費用。一旦你支付此費用&#xff0c;即可選擇向上爬一個或者兩個臺階。 你可以選擇從下標為 0 或下標為 1 的臺階開始爬樓梯。 請你計算并返回達到樓梯頂部的最低花費。 代碼 …

MongoDB和AI 賦能行業應用:制造業和汽車行業

歡迎閱讀“MongoDB和AI 賦能行業應用”系列的第一篇。 本系列重點介紹AI應用于不同行業的關鍵用例&#xff0c;涵蓋制造業和汽車行業、金融服務、零售、電信和媒體、保險以及醫療保健行業。 隨著人工智能&#xff08;AI&#xff09;在制造業和汽車行業的集成&#xff0c;傳統…

CDN的工作原理及流程

CDN&#xff08;Content Delivery Network&#xff0c;內容分發網絡&#xff09;是一種構建在數據網絡上的分布式內容分發網絡。 CDN利用全局負載均衡技術&#xff0c;將用戶的訪問請求指向離用戶最近且工作正常的流媒體服務器上&#xff0c;由流媒體服務器直接響應用戶的請求…

Tableau學習2.0版——復習

官網下載鏈接&#xff1a;https://www.tableau.com/zh-cn/support/releases 學生賬戶申請鏈接&#xff1a;https://www.tableau.com/zh-cn/academic/students。直接去學信網下載學籍在線驗證作為申請證明。 目錄 1、可視化原理 2、基礎圖表制作 2.1 對比分析&#xff08;比…

@游戲行業er!MongoDB廣州線下沙龍邀您報名!

隨著游戲和應用程序的發展&#xff0c;數據變得越來越重要。在為您的下一個游戲選擇數據庫時&#xff0c;數據庫管理者常常會面對靈活性、可擴展性、可靠性、運營效率等問題或挑戰。 MongoDB在游戲開發領域有著廣泛的應用&#xff0c;靈活數據模型可以存儲和處理各種類型的數據…

JPA ENTITY EXTEND

1. Overview Relational databases don’t have a straightforward way to map class hierarchies onto database tables. To address this, the JPA specification provides several strategies: MappedSuperclass – the parent classes, can’t be entitiesSingle Table …

webpack處理js和css模塊化導入導出示例:

webpack默認并不能處理js模塊化的導入和導出,依賴于ts-loader和babel-loader webpack.config,js module.exports {entry: ./src/index.ts,output: {filename: main.js,},mode: development, // 或者 productionmodule: {rules: [{test: /\.ts/,exclude: /(node_modules)/,use:…

二維平移矩陣 (2D translate matrix)

2D translate matrix 推薦閱讀正文推薦閱讀 矢量旋轉矩陣 正文 之前我們介紹了矢量旋轉矩陣的形式,這里我們來介紹一下平移矩陣的形式。比如,我們我們有一個點,其坐標為 (0,1)。那么我們如何操作才能夠將這個點沿著 x 軸正方向平移 1 個單位長度呢? 這里我們以向右移動…

vj題單 P4552 [Poetize6] IncDec Sequence

思路&#xff1a; 一次操作&#xff1a;選一個區間[l, r]&#xff0c;把這個區間的數都加1或者都減1&#xff0c;可以將求該數列的差分數組b然后來進行該操作 一次操作的兩種種情況&#xff1a;&#xff08;l可以等于r&#xff09; 1.b[l]1 b[r1]-1 2.b[l]-1 b[r1]1 Q1:…

PHP 提取數組中的特定的值

需求&#xff1a; 前端展示&#xff1a; &#xff08;1&#xff09;之前的頁面&#xff1a; &#xff08;2&#xff09;修改后的頁面&#xff1a; 之前接口返回的數據 &#xff1a; 解決辦法&#xff1a;提取tags 中的 ’約 的數組 添加到一個新的數組中去 1&#xff1a;一開…

【CPP】多線程并發—— Mutex 和 Lock

#include <iostream> #include <thread> #include <mutex> #include "my_utils.h"std::mutex mtx; // 全局互斥鎖 int shared_data 0; // 共享數據 void increment() { for (int i 0; i < 10; i) { std::cout <<"incre…

2024年去除視頻水印的5種方法

如果你從事電影剪輯或者視頻編輯工作&#xff0c;你經常需要從優酷、抖音、TikTok下載各種視頻片段……。 通常這些視頻帶有水印和字幕。一些免費軟件如CapCut、canva、Filmora也會給你制作的視頻打上水印&#xff0c;這些水印嵌入在視頻內部。 2024年去除視頻水印的5種方法 …

Mysql-用戶變量的聲明與使用

#聲明變量 #1.標識符不能以數字開頭 #2.只能使用_或$符號&#xff0c;不能使用其他符號 #3.不能使用系統關鍵字 setuserName劉德華; select userName:劉青云;#將賦值與查詢結合 #查詢變量、使用變量&#xff0c;匿名的時候建議加上as select userName as 讀取到的userName變量…

Golang面向對象編程(二)

文章目錄 封裝基本介紹封裝的實現工廠函數 繼承基本介紹繼承的實現字段和方法訪問細節多繼承 封裝 基本介紹 基本介紹 封裝&#xff08;Encapsulation&#xff09;是面向對象編程&#xff08;OOP&#xff09;中的一種重要概念&#xff0c;封裝通過將數據和相關的方法組合在一起…

java JOptionPane 介紹

JOptionPane是Java Swing庫中的一個類,用于創建對話框(Dialogs),以便與用戶進行交互。它提供了一種簡單的方式來顯示消息、警告、錯誤、輸入框等。 主要方法: showMessageDialog(Component parentComponent, Object message):顯示一個包含消息的對話框。showInputDialog…