当前位置: 首页 > wzjs >正文

网站做seo的中文是什么

网站做,seo的中文是什么,摄影logo设计,做网站要知道哪些代码在上一部分中,我们研究了如何使用 AFL++ 对简单的物联网二进制文件进行模糊测试。这些程序接受来自文件的输入,并且易于模糊测试。 在本文中,我们将研究套接字二进制文件。使用套接字进行网络通信的模糊测试二进制文件与使用基于文件 I/O 的模糊测试二进制文件不同。Vanill…

在上一部分中,我们研究了如何使用 AFL++ 对简单的物联网二进制文件进行模糊测试。这些程序接受来自文件的输入,并且易于模糊测试。

在本文中,我们将研究套接字二进制文件。使用套接字进行网络通信的模糊测试二进制文件与使用基于文件 I/O 的模糊测试二进制文件不同。Vanilla AFL 和 AFL++ 不支持对套接字二进制文件进行模糊测试,尽管AFLNet和AFLNW等项目使用 AFL 的修改版本进行模糊测试。不过,本文我们将了解如何使用普通的 AFL++ 来模糊测试网络程序。httpd此处的二进制文件/usr/sbin/httpd是固件的 Web 服务器,可以作为模糊测试的候选对象。

httpd我们可以像下面这样启动sudo。需要使用 Sudo 才能绑定到 80 端口。

img

请注意,qemu 是从www/目录内部启动的,因为这是 Web 资源(html、css、js 文件)所在的位置。虽然它显示了绑定错误,但运行后netstat可以确认它httpd确实在监听 80 端口。

img

我们可以打开http://127.0.0.1来交叉检查Web界面是否可以访问。

img

还可以使用 访问 Web 界面curl

img

使用拦截代理(例如 Burp Suite),我们可以查看正在发送的实际 HTTP 请求。尝试使用凭据登录仪表板admin:123456将导致 POST 请求,如下所示。

img

在上图中,我们通过附加*-p 8080*到 qemu 命令行在端口 8080(而不是 80)上运行 Web 服务器。

从这里开始,我们的想法是使用模糊器以微妙的方式修改这个基本请求,从而使 Web 服务器崩溃。

最简单的方法是通过网络发送实际请求。然而,这会很慢。更聪明且推荐的方法是让 Web 服务器从文件中读取 HTTP 请求数据。我们将分别讨论这两种方法。

使用 Radamsa 进行简单模糊测试

Radamsa不是模糊测试器。它是一个测试用例生成器,可以读取文件并以微妙的方式对其进行修改。如何使用修改后的输出取决于我们。在这里,我们将文件的输出发送到正在运行的 Web 服务器。

# fuzz-radamsa.py
import socket
import pyradamsabase_login_request = open("base-login-request.txt", "rb").read()rad = pyradamsa.Radamsa()
i = j = 0while True:# Create a modified request based on the base requestfuzzed_request = rad.fuzz(base_login_request)sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 1 second timeoutsock.settimeout(1)sock.connect(("127.0.0.1", 8080))j += 1print(f"[+] Request {j} - ", end="")sock.sendall(fuzzed_request)try:sock.recv(50000)print("OK")except Exception as ex:i += 1open(f"interesting/{i}.txt", "wb").write(fuzzed_request)print(f" {ex} -> saved to {i}.txt")sock.close()

上述代码使用 Radamsa 根据基础登录请求生成修改后的请求数据。然后,这些数据通过套接字发送到运行在 8080 端口的 Web 服务器。如果服务器在 1 秒内没有响应,则输入将保存到目标目录中的文件中。

我们可以按照所示运行模糊测试器。

img

请求 3 在响应时超时,相应的输入被保存到1.txt 文件中。需要注意的是,超时并不等同于崩溃。如果服务器在请求 3 时崩溃,后续请求将无法成功。这种模糊测试效率极低、速度慢且容易出错,并且经常会导致误报。

使用 AFL++ 进行模糊测试

如前所述,要使用 AFL 进行模糊测试,程序必须接受来自文件的输入。我们没有httpd的源代码,无法根据我们的目的进行修改。因此,我们只能采取二进制级别的修改,例如修补汇编指令和LD_PRELOAD技巧。使用后者,我们可以覆盖网络函数,libc使其接受来自文件的输入。GitHub上的desockmulti项目可以用于此目的。

在演示如何使用*desockmulti 之前,*我们需要进行一些修改。httpd二进制文件目前使用该函数 fork 到后台daemon。我们不希望在模糊测试过程中出现这种 fork 行为。

img

我们需要重写daemon它,使其返回 0,而不是真正地进行分叉。这可以通过使用 LD_PRELOAD 或修改汇编指令来实现。

我们需要做的另一个修改是让httpd只处理一个请求(不像典型的 Web 服务器那样无限期地处理请求),然后退出。这样我们就能知道是哪个请求(如果有的话)导致了 Web 服务器崩溃。

要关闭套接字

http://www.dtcms.com/wzjs/204658.html

相关文章:

  • 完备的网站建设推广内容营销是什么意思
  • 网站店招用什么软件做的在线注册免费域名
  • 广州做网站的网络公司中文搜索引擎
  • 网站系统修改深圳网络推广案例
  • 有哪些网站做的比较好看的图片网站站内关键词优化
  • 软件开发与应用seo系统教程
  • 九宫格导航网站百度竞价代运营外包
  • 做视频链接哪个网站好专门做推广的软文
  • 北京网址导航关键词的优化方案
  • 网站建设开发收费百度云超级会员试用1天
  • 外贸网站建设平台安卓优化清理大师
  • 格尔木市住房和城乡建设局网站软文自助发稿平台
  • 中国网库做网站电脑培训学校网站
  • 佛山网站建设企业信息流广告优秀案例
  • 免费商城网站建设新手如何学seo
  • php网站开发工程师银徽seo
  • 网站的ico怎么做本周国内重大新闻十条
  • 柳州企业做网站南宁百度推广排名优化
  • 网站开发 商标注册广州百度seo公司
  • 网站制作主题标题优化方法
  • 做网站时用插件需要注明吗网站优化策略分析论文
  • 织梦如何做视频网站软件开发一般需要多少钱
  • 制造动漫网站开发目的西安seo网络推广
  • 仪器网站模板如何做好精准营销
  • 2017年最新网站设计风格今日小说排行榜百度搜索榜
  • 网站统计怎么做营销推广seo
  • 私人网站服务器免费海南网站推广
  • 郑州网站建设 .cc搜索大全引擎地址
  • wordpress后台框架seo排名查询
  • 织梦做响应式网站写文章在哪里发表挣钱