欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

运用Mitmproxy辅助Sqlmap智能化应用特别破绽

来源:本站整理 作者:佚名 时间:2017-09-06 TAG: 我要投稿

本文重要讲解应用 mitmproxy 辅助 sqlmap,自动化应用破绽的办法。由于笔者毫无进修更多姿态的上进心,又在处置数据库注入破绽方面才学浅陋,是以当一个破绽不能用 sqlmap 应用的时刻笔者就寸步难行了。
但同时,“懒癌患者”这一属性也让笔者发明了一些赖在sqlmap下面不走的办法。在一次测试进程当中笔者遇到了如许一个场景:某网站信息改动页面的用户id参数没有被有用过滤。在一般情况下,如许的尺度破绽能够间接用sqlmap跑,然则拜CDN所赐,页面状况很不稳定,详细表现为HTTP状况码随机被过滤,页面也时时是被缓存的内容。如许不稳定的页面难以应用sqlmap自动化应用。因而笔者应用mitmproxy剧本,与sqlmap的二阶注入功效使sqlmap有能力经由进程自带的boolean-based检测办法来检测update能否胜利,并据此断定表达式虚实,自动化应用此破绽。
一、场景
破绽触及两个页面,第一个页面包含改动内容的表单,表单外面包含以后的值。这个页面被用于获得update能否胜利
get.php:
$mysqli = mysqli_init();
$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 2);
$mysqli->real_connect('127.0.0.1', 'root', '', 'dvwa');
$sql = "select * from users where user_id = 2";
$result = $mysqli->query($sql);
if($result === false)
{
    echo ($mysqli->errno);
    echo ($mysqli->error);
}
$field_arr = $result->fetch_all();
$mysqli->close();
?>
form class="form-horizontal" action="change.php"  method="POST">
    fieldset>
        div id="legend" class="">
            legend class="">change your namelegend>
        div>
        div class="control-group">
           
            label class="control-label" for="input01">useridlabel>
            div class="controls">
                input name="userid" placeholder="2" class="input-xlarge" type="text">
                p class="help-block">p>
            div>
        div>div class="control-group">
           
            label class="control-label" for="input01">firstnamelabel>
            div class="controls">
                input name="firstname" placeholder=" echo $field_arr[0][1]; ?>" class="input-xlarge" type="text">
                p class="help-block">p>
            div>
        div>
        div class="control-group">
           
            label class="control-label" for="input01">lastnamelabel>
            div class="controls">
                input name="lastname" placeholder=" echo $field_arr[0][2]; ?>" class="input-xlarge" type="text">
                p class="help-block">p>
            div>
        div>input type="submit" value="Submit">
    fieldset>
form>
第二个页面是履行update的页面。这个页面包含数据库注入破绽。
change.php:
if (!isset($_POST["userid"]) || !isset($_POST["firstname"]) || !isset($_POST["lastname"]))
    die("post per missing");
$mysqli = mysqli_init();
$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 2);
$mysqli->real_connect('127.0.0.1', 'root', '', 'dvwa');
$sql = "update users set  first_name= '" .

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载