问题描述:使用python sqlmap 检测存在sql注入风险,网站为php语言

操作步骤:1.本地电脑系统是win 7,查看未安装python,需要先安装python,注:win 7安装python3.8 ,过高版本系统不支持

搜索下载python-3.8.10-amd64.exe安装包,也可以登录python官网下载:https://www.python.org/downloads/windows/,下载后点击python-3.8.10-amd64.exe,出现下图安装界面,按图示勾选进行安装,第二红框第二复选框为增加path环境变量,方便后续操作。

自定义安装目录,文件夹中不要含文字空格,选择好路径,点击Install安装,等待进度条结束,出现安装成功页面:

安装完成后,打开本地电脑cmd命令窗口,输入python,出现如下图所示表示python安装成功。

 2.安装sqlmap

2.1.下载sqlmap:http://sqlmap.org/

2.2. 将下载的SQLMAP安装包解压到文件夹sqlmap中,并复制到python的根目录下;

2.3.cmd命令进入sqlmap目录下,输入python sqlmap.py -h,出现如下信息则表示安装成功

2.4.sqlmap常用注入:

python sqlmap.py -u 地址 可以查看是否能对当前URL进行注入
python sqlmap.py -u 地址 -v 1 --dbs // 列举数据库列表
python sqlmap.py -u 地址 -v 1 --current-db// 显示当前数据库
python sqlmap.py -u 地址 -v 1 --users // 列举所有数据库用户
python sqlmap.py -u 地址 -v 1 --current-user // 显示当前用户
python sqlmap.py -u 地址 -v 1 -D "database_name" --tables // 列举databas的所有表
python sqlmap.py -u 地址 -v 1 -D "database_name" -T "table_name" --columns // 列举所有字段
python sqlmap.py -u 地址 -v 1 -D "database_name" -T "table_name" -C"columns1,columns2" –dump //导出相关字段
而且SQLMAP会将数据存储在sqlmap/output/

执行命令后出现如下图所示,表明找到注入点:

 2.5.php站点按如下步骤开启sql防护:

(1)过滤一些常见的数据库操作关键字,例如对select ,insert,update,delete,and,*,(,),'等敏感字符或通过系统函数addslashes对内容进行过滤。

(2)php配置文件php.ini中register_globals=off;display_error=off,debug设置为false

(3)开启PHP安全模式safe_mode=on

(4)打开magic_quotes_gpc来防止SQL注入,默认为关闭,开启后自动把用户提交sql查询语句进行转换把"'"转换成"\'"

(5)网站安装waf防护软件

2.6.安装过滤拦截后再次执行上述同样命令出现如下图所示,已经无法扫描到注入点:

python sqlmap 检测sql注入点及php网站sql注入防护运维操作实例的更多相关文章

  1. 寻找SQL注入点

    如果要对一个网站进行SQL注入攻击,首先就需要找到存在SQL注入漏洞的地方,也就是寻找所谓的注入点.可能的SQL注入点一般存在于登录页面.查找页面或添加页面等用户可以查找或修改数据的地方. 最常用的寻 ...

  2. 转:python常用运维脚本实例

    python常用运维脚本实例 转载  file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函 ...

  3. python常用运维脚本实例【转】

    file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件 . 首先 ...

  4. BurpSuite导出log配合SQLMAP批量扫描注入点

    sqlmap可以批量扫描包含有request的日志文件,而request日志文件可以通过burpsuite来获取, 因此通过sqlmap结合burpsuite工具,可以更加高效的对应用程序是否存在SQ ...

  5. python常用运维脚本实例

    转载  file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件 ...

  6. Python运维编程

    Python运维编程 作者:Danbo  2015-10-11 什么是Python,为什么要使用Python? 这个大家自行谷歌,不过看看知乎你就知道Python有多么强大:http://www.zh ...

  7. sqlmap检测sql注入漏洞

    sqlmap是一款非常强大的开源sql自动化注入工具,可以用来检测和利用sql注入漏洞.它由python语言开发而成,因此运行需要安装python环境. 官网:http://sqlmap.org/ 乌 ...

  8. Web安全0001 - MySQL SQL注入 - 如何寻找注入点

    注:本文是学习网易Web安全进阶课的笔记,特此声明. 其他数据库也可以参考寻找注入点. A: 一.信息搜集(百度) 1.无特定目标 inurl:.php?id= 2.有特定目标 inurl:.php? ...

  9. Sqlmap注入Base64编码的注入点

    不小心删了,找快照才找到的.补回来... 上次遇到一个Base64的注入点,手工注入太麻烦,于是在网上看了一下sqlmap Base64注入的方法,如下: sqlmap -u http://xxxx. ...

  10. SQL注入篇二------利用burp盲注,post注入,http头注入,利用burpsuit找注入点,宽字节注入

    1.布尔盲注burpsuit的使用 先自己构造好注入语句,利用burpsuit抓包,设置变量,查出想要的信息. 比如----查数据库名的ascii码得到数据库构造好语句 http://123.206. ...

随机推荐

  1. FineReport其他js记录

    1.js修改日期组件 背景色 边框 setTimeout(function () { var color = "#092347"; var fontColor = "wh ...

  2. 准备 OpenXML 开发环境

    Development with Open XML 1. 准备开发环境 1.1 Open XML SDK 现在最新的 OpenXML SDK 版本是 2.12.1 (2021/1),需要通过 NuGe ...

  3. 哪家开源 ChatGPT 生成代码好

    试玩 poe 上的代码生成器,Sage,Claud-instant,Dragonfly 效果都不错,太省事了.于是想找一下开源平替哪家强,回头在自己的显卡上跑起来. 我试验的内容是 根据下面的函数编写 ...

  4. 为什么推荐在 .NET 中使用 YAML 配置文件

    在现代应用开发中,配置管理是一个非常重要的部分.随着微服务.容器化和云原生架构的流行,使用简单.易读的配置格式变得尤为重要.在 .NET 开发中,虽然 JSON 是默认的配置文件格式,但 YAML(& ...

  5. Anaconda功能、优点、安装步骤(安装视频)

    目录 介绍 功能(包和环境的管理器) 优点(省时省心) 下载地址 安装教程 要点 conda 的常见命令 查询完整帮助文件 管理conda和anaconda 管理环境 包管理 其他 ​ 介绍 Anac ...

  6. function keyword is non-standard. Delete it.

    SC2112 – ShellCheck Wiki See this page on GitHub function keyword is non-standard. Delete it. Proble ...

  7. checker jenkins 启动配置

    chmod -R 755 bin scp target/*.jar ubuntu@x:/home/ubuntu/checker/ scp config/*.yml ubuntu@x:/home/ubu ...

  8. Promise/A+ 规范 - 中文版本

    Promises/A+ 这是一个开放标准,旨在让不同开发者实现的 JavaScript Promise 能够无缝衔接并应用--由前辈们制定,为其他后来者提供参考 一个 promise 所表示的是异步操 ...

  9. Qt编写可视化大屏电子看板系统24-模块2当月计划

    一.前言 延续分层模块化的设计思路,当月计划模块主要包括模具达成率.零件达成率.零件数.每日工序达成数5个子模块,其中模具达成率采用自定义控件环形图展示,比如计划多少达成多少,达成作为进度:零件达成率 ...

  10. 在Win7 x64环境中将World Wind Java SDK 2.1.0嵌入到Eclipse中的方法

    1.解压worldwind-2.1.0.zip. 2.打开Eclipse,依次点击New–>Java project ,输入project的名称WorldWind,一路直到finish.然后就可 ...