国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

開發(fā)安全之:Access Control: Database

這篇具有很好參考價(jià)值的文章主要介紹了開發(fā)安全之:Access Control: Database。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Overview

如果沒有適當(dāng)?shù)?access control,mysql_query執(zhí)行一個(gè) SQL 指令時(shí),如果該指令包含一個(gè)受攻擊者控制的主鍵,從而允許攻擊者訪問(wèn)未經(jīng)授權(quán)的記錄。

Details

Database access control 錯(cuò)誤在以下情況下發(fā)生: 1. 數(shù)據(jù)從一個(gè)不可信賴的數(shù)據(jù)源進(jìn)入程序。 2. 這個(gè)數(shù)據(jù)用來(lái)指定 SQL 查詢中主鍵的值。?

例 1:以下代碼用到一個(gè)參數(shù)化指令,這個(gè)指令轉(zhuǎn)義了元字符,以防止 SQL injection 漏洞,并構(gòu)建和執(zhí)行一個(gè) SQL 查詢。該 SQL 查詢指令可以搜索與指定標(biāo)識(shí)符 [1] 相匹配的清單。您可以從與當(dāng)前被授權(quán)用戶有關(guān)的所有清單中選擇這些標(biāo)識(shí)符。 ...

$id = $_POST['id']; $query = "SELECT * FROM invoices WHERE id = ?"; $stmt = $mysqli->prepare($query); $stmt->bind_param('ss',$id); $stmt->execute(); ...

問(wèn)題在于開發(fā)者沒有考慮到所有可能出現(xiàn)的 id 值。雖然界面生成了屬于當(dāng)前用戶的清單標(biāo)識(shí)符列表,但是攻擊者可以繞過(guò)這個(gè)界面,從而獲取所需的任何清單。由于此示例中的代碼沒有執(zhí)行檢查以確保用戶具有訪問(wèn)所請(qǐng)求清單的權(quán)限,因此它會(huì)顯示任何清單,即使此清單不屬于當(dāng)前用戶。 許多現(xiàn)代 Web 框架都會(huì)提供對(duì)用戶輸入執(zhí)行驗(yàn)證的機(jī)制(包括 Struts 和 Struts 2)。為了突出顯示未經(jīng)驗(yàn)證的輸入源,F(xiàn)ortify 安全編碼規(guī)則包會(huì)對(duì) Fortify Static Code Analyzer(Fortify 靜態(tài)代碼分析器)報(bào)告的問(wèn)題動(dòng)態(tài)重新調(diào)整優(yōu)先級(jí),即在采用框架驗(yàn)證機(jī)制時(shí)降低這些問(wèn)題被利用的幾率并提供指向相應(yīng)證據(jù)的指針。我們將這種功能稱之為上下文敏感排序。為了進(jìn)一步幫助 Fortify 用戶執(zhí)行審計(jì)過(guò)程,F(xiàn)ortify 軟件安全研究團(tuán)隊(duì)開發(fā)了 Data Validation(數(shù)據(jù)驗(yàn)證)項(xiàng)目模板,該模板根據(jù)應(yīng)用于輸入源的驗(yàn)證機(jī)制按文件夾對(duì)問(wèn)題進(jìn)行了分組。

Recommendations

與其靠表示層來(lái)限制用戶輸入的值,還不如在應(yīng)用程序和數(shù)據(jù)庫(kù)層上進(jìn)行 access control。任何情況下都不允許用戶在沒有取得相應(yīng)權(quán)限的情況下獲取或修改數(shù)據(jù)庫(kù)中的記錄。每個(gè)涉及數(shù)據(jù)庫(kù)的查詢都必須遵守這個(gè)原則,這可以通過(guò)把當(dāng)前被授權(quán)的用戶名作為查詢語(yǔ)句的一部分來(lái)實(shí)現(xiàn)。

示例 2:以下代碼實(shí)現(xiàn)的功能與Example 1 相同,但是附加了一個(gè)限制,以驗(yàn)證清單是否屬于當(dāng)前經(jīng)過(guò)身份驗(yàn)證的用戶。

$mysqli = new mysqli($host,$dbuser, $dbpass, $db);

$userName = getAuthenticated($_SESSION['userName']);

$id = $_POST['id'];

$query = "SELECT * FROM invoices WHERE id = ? AND user = ?";

$stmt = $mysqli->prepare($query);

$stmt->bind_param('ss',$id,$userName);

$stmt->execute(); ...文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-810942.html

到了這里,關(guān)于開發(fā)安全之:Access Control: Database的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Navicat遠(yuǎn)程連接,Docker中的mysql,新建數(shù)據(jù)庫(kù)時(shí)報(bào)錯(cuò):1044 -Access denied for user ‘root‘@‘%‘ to database

    Navicat遠(yuǎn)程連接,Docker中的mysql,新建數(shù)據(jù)庫(kù)時(shí)報(bào)錯(cuò):1044 -Access denied for user ‘root‘@‘%‘ to database

    ?該錯(cuò)誤表示root用戶沒有訪問(wèn)指定數(shù)據(jù)庫(kù)的權(quán)限 ?解決辦法就是重新賦權(quán) 1.訪問(wèn) Docker 容器內(nèi)的 MySQL 命令行界面 2.輸入 root 用戶的密碼 注 : 密碼是不會(huì)顯示的,輸入完后Enter即可 3.切換數(shù)據(jù)庫(kù) 4.更新表host中的列,將根用戶的mysql.user值設(shè)置為。\\\'%\\\' 注 : ????????默認(rèn)情況

    2024年02月16日
    瀏覽(28)
  • 服務(wù)攻防-數(shù)據(jù)庫(kù)安全-Influxdb&H2database&CouchDB&ElasticSearch數(shù)據(jù)庫(kù)漏洞復(fù)現(xiàn)

    服務(wù)攻防-數(shù)據(jù)庫(kù)安全-Influxdb&H2database&CouchDB&ElasticSearch數(shù)據(jù)庫(kù)漏洞復(fù)現(xiàn)

    目錄 一、Influxdb-未授權(quán)訪問(wèn)-Jwt 驗(yàn)證不當(dāng) 1、Infuxdb簡(jiǎn)介 2、安全問(wèn)題 3、漏洞復(fù)現(xiàn)? 二、H2database-未授權(quán)訪問(wèn)-配置不當(dāng) 1、H2database簡(jiǎn)介 2、安全問(wèn)題 3、漏洞復(fù)現(xiàn)? 三、CouchDB-權(quán)限繞過(guò)配合RCE-漏洞 1、CouchDB簡(jiǎn)介 2、安全問(wèn)題 3、漏洞復(fù)現(xiàn)? 四 、ElasticSearch-文件寫入RCE-漏洞 1、Ela

    2024年02月16日
    瀏覽(20)
  • 數(shù)據(jù)庫(kù)安全-H2 database&Elasticsearch&CouchDB&Influxdb漏洞復(fù)現(xiàn)

    數(shù)據(jù)庫(kù)安全-H2 database&Elasticsearch&CouchDB&Influxdb漏洞復(fù)現(xiàn)

    參考:influxdb CVE-2019-20933 靶場(chǎng)環(huán)境:vulhub 打開靶場(chǎng)進(jìn)入環(huán)境: 訪問(wèn): 端口掃描: 默認(rèn)端口: 8086:用于客戶端和服務(wù)端交互的HTTP API 8088 :用于提供備份和恢復(fù)的RPC服務(wù) influxdb 是一款著名的時(shí)序數(shù)據(jù)庫(kù),其使用 jwt 作為鑒權(quán)方式。在用戶開啟了認(rèn)證, 但未設(shè)置參數(shù) shared-s

    2024年02月06日
    瀏覽(24)
  • 網(wǎng)絡(luò)安全進(jìn)階學(xué)習(xí)第十二課——SQL手工注入3(Access數(shù)據(jù)庫(kù))

    網(wǎng)絡(luò)安全進(jìn)階學(xué)習(xí)第十二課——SQL手工注入3(Access數(shù)據(jù)庫(kù))

    判斷數(shù)據(jù)庫(kù)類型 —— 判斷表名 —— 判斷列名 —— 判斷列名長(zhǎng)度 —— 查出數(shù)據(jù)。 asp的網(wǎng)站,常用數(shù)據(jù)庫(kù)為access、sqlserver。 and exsits (select * from msysobjects)0 access and exsits (select * from sysobjects)0 sqlserver 上述語(yǔ)句 會(huì)返回1或者0 。 msysobjects是access的默認(rèn)數(shù)據(jù)庫(kù) , sysobjects是sqlserv

    2024年02月11日
    瀏覽(29)
  • 001- database - 數(shù)據(jù)庫(kù)

    001- database - 數(shù)據(jù)庫(kù)

    1、新的數(shù)據(jù)庫(kù)進(jìn)入默認(rèn)有四個(gè)數(shù)據(jù)庫(kù),一般不要輕易刪除; -- 創(chuàng)建數(shù)據(jù)庫(kù) CREATE DATABASE 數(shù)據(jù)庫(kù)名 -- 查詢所有數(shù)據(jù)庫(kù) SHOW DATABASES -- 使用數(shù)據(jù)庫(kù) -- USE 數(shù)據(jù)庫(kù)名 -- 查詢當(dāng)前使用的數(shù)據(jù)庫(kù) SELECT DATABASE() -- 刪除數(shù)據(jù)庫(kù) DROP DATABASE 數(shù)據(jù)庫(kù)名

    2024年02月17日
    瀏覽(28)
  • IDEA連接database數(shù)據(jù)庫(kù)

    IDEA連接database數(shù)據(jù)庫(kù)

    如果沒有配置驅(qū)動(dòng),將會(huì)報(bào)如下錯(cuò)誤 從maven倉(cāng)庫(kù)下載:要求聯(lián)網(wǎng) 將提前下載好的jar放到本地目錄 將提前準(zhǔn)備好的mysql驅(qū)動(dòng)jar包,放到Idea配置路徑中:C:UsersIrene.IntelliJIdea2019.2configjdbc-drivers 解決辦法:手動(dòng)增加高級(jí)參數(shù) serverTimezone=Asia/Shanghai

    2024年02月20日
    瀏覽(18)
  • create database創(chuàng)建數(shù)據(jù)庫(kù)失敗

    create database創(chuàng)建數(shù)據(jù)庫(kù)失敗

    瀚高數(shù)據(jù)庫(kù) 目錄 環(huán)境 癥狀 問(wèn)題原因 解決方案 環(huán)境 系統(tǒng)平臺(tái):Linux x86-64 Red Hat Enterprise Linux 7 版本:4.5.7 癥狀 1、執(zhí)行如下sql語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)報(bào)錯(cuò)。 問(wèn)題原因 1、初始化數(shù)據(jù)庫(kù)的時(shí)候指定了參數(shù)locale、lc-collate、lc-ctype、lc-messages的值為’C’,即數(shù)據(jù)庫(kù)默認(rèn)模板template1對(duì)應(yīng)這些

    2024年02月17日
    瀏覽(37)
  • MySQL數(shù)據(jù)庫(kù)(database)相關(guān)操作

    修改my.ini配置文件,可修改MySQL默認(rèn)的字符集. 修改[mysql]選項(xiàng)組下的default_character_set的值可以同時(shí)改變character_set_client, character_set_connection, character_set_database的值 修改[mysql]選項(xiàng)組下的character_set_server的值可同時(shí)改變character_set_database, character_set_server的值 在MySQL命令行通過(guò)以下命令

    2024年02月05日
    瀏覽(19)
  • MySQL創(chuàng)建數(shù)據(jù)庫(kù)(CREATE DATABASE語(yǔ)句)

    ?在 MySQL 中,可以使用? CREATE DATABASE ?語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù),語(yǔ)法格式如下: [ ] 中的內(nèi)容是可選的。語(yǔ)法說(shuō)明如下: 數(shù)據(jù)庫(kù)名: 創(chuàng)建數(shù)據(jù)庫(kù)的名稱。MySQL 的數(shù)據(jù)存儲(chǔ)區(qū)將以目錄方式表示 MySQL 數(shù)據(jù)庫(kù),因此數(shù)據(jù)庫(kù)名稱必須符合操作系統(tǒng)的文件夾命名規(guī)則,不能以數(shù)字開頭,盡量

    2024年02月04日
    瀏覽(33)
  • IDEA使用-通過(guò)Database面板訪問(wèn)數(shù)據(jù)庫(kù)

    IDEA使用-通過(guò)Database面板訪問(wèn)數(shù)據(jù)庫(kù)

    作為一款強(qiáng)大IDE工具,IDEA具有很多功能,本文將以MariaDB數(shù)據(jù)庫(kù)訪問(wèn)為例,詳細(xì)介紹如何通過(guò)IDE工具的Database面板來(lái)訪問(wèn)數(shù)據(jù)庫(kù)。 不同的版本操作會(huì)略有差異,這里我們用于演示的版本為: IntelliJ IDEA 2018.3.5 (Ultimate Edition) mariadb-java-client2.7.3 按照如下過(guò)程,我們來(lái)通過(guò)IDE工具的

    2024年02月06日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包