post

ThinkPHP5.0 漏洞测试

怎甘沉沦 提交于 2020-03-24 13:23:02
ThinkPHP5.0 漏洞测试 自从ThinkPHP发布漏洞补丁以来,服务器不知道多少次受到了批量扫描漏洞来抓取肉鸡的请求 虽然官方早已发布补丁,还是想试一下TP漏洞,测试两个漏洞 一、全版本执行漏洞 <!-- GET --> http://127.0.0.1/ThinkPHP/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1 由于对控制器名没有明确的检测,在没有开启强制路由的情况下,直接就可以执行phpinfo(),如果服务器未限制shell等函数的执行,便可以直接执行shell提权 详细的漏洞执行过程可以参考 漏洞执行过程 官方补丁 加入正则表达式来限制控制器名 /* /thinkphp/library/think/App.php 555行 加入 */ if (!preg_match('/^[A-Za-z](\w)*$/', $controller)) { throw new HttpException(404, 'controller not exists:' . $controller); } 二、_method漏洞 <!-- POST --> http://127.0.0.1/ThinkPHP/index.php?s

c# 创建IIS站点

微笑、不失礼 提交于 2020-03-24 12:56:06
编辑器加载中... private void CreateWebSite() { try { string installPath = "C:\\Program Files\\MyWeb"; string IISVirtualDirectory = "MyWeb"; var root = new DirectoryEntry("IIS://localhost/W3SVC/1/ROOT"); foreach (DirectoryEntry directoryEntry in root.Children) { if (directoryEntry.Name == IISVirtualDirectory) { try { root.Invoke("Delete", new[] { directoryEntry.SchemaClassName, IISVirtualDirectory }); root.CommitChanges(); } catch (Exception) { } } } DirectoryEntry de = root.Children.Add(IISVirtualDirectory, "IIsWebVirtualDir"); de.Properties["Path"][0] = installPath + @"\MyWebSite"; de.Invoke(

php接收二进制文件转换成图片

泄露秘密 提交于 2020-03-24 06:58:45
$GLOBALS['HTTP_RAW_POST_DATA'] 最近在做Flash在线裁剪图片 生成图片的东西。 通过Flash POST 图片的二进制数据给php,由php生成图片保存。 开始想到用$_POST来接受。后来发现行不通。 查阅了很多资料 明白了所以然,这里做一个笔记: 于PHP默认只识别application/x-www.form-urlencoded标准的数据类型。 因此,对型如text/xml 或者 soap 或者 application/octet-stream 之类的内容无法解析,如果用$_POST数组来接收就会失败! 故保留原型,交给$GLOBALS['HTTP_RAW_POST_DATA'] 来接收。 另外还有一项 php://input 也可以实现此这个功能 php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。php://input和 $HTTP_RAW_POST_DATA 不能用于 enctype="multipart/form-data"。 我在Flash中使用JPGEncoder把BitMapData转成二进制,然后post给php php页面代码如下: <?php $filename="teststream.jpg";/

ActiveRecord自动维护双向关联的测试

非 Y 不嫁゛ 提交于 2020-03-24 06:17:41
Trunk版本的AR使用的NHibernate版本为 1.2 beta,这个版本添加了对泛型的支持。而之前我们要在AR中使用泛型(强类型集合),主要是依靠NHIbernate.Generics.dll这个第三方扩展,而这个第三方扩展的目的有两个:对强类型集合的支持和自动维护双向关联。   在使用了Trunk上的AR版本之后,我们已经可以使用诸如IList<>之类的泛型,解决了第一个问题,但是自动维护双向关联的问题呢?以下是我这两天的测试:   表结构: CREATE TABLE Blog ( BlogID int IDENTITY(1, 1) PRIMARY KEY, Name varchar(50), Author varchar(50) ) CREATE TABLE Post ( PostID int IDENTITY(1, 1) PRIMARY KEY, Title varchar(50), BlogID int FOREIGN KEY REFERENCES Blog(BlogID) Not Null , ) 实体类: [ActiveRecord("Blog")] public class Blog : ActiveRecordBase<Blog> { private int blogID; private string name; private string author

微信小程序新闻网站列表页

老子叫甜甜 提交于 2020-03-24 01:12:29
在app.json中可以设置所有文件的头部导航颜色 (是window属性的子属性) 在具体页面可以单独设置该页面的导航颜色 (直接写该属性,不需要写window属性) 查看官方文档,可以看到好多全局属性 而页面配置会覆盖部分window配置 在post.json中添加: { "navigationBarTitleText":"文与字" } 可以实现导航的文字 在小程序中,有些时候使用绝对路径会报错,比如import 因此当你使用绝对路径报错时,可以尝试换成相对路径,也许问题就解决了。 js中的data属于单向数据绑定,data中改变的数据,在wxml中会自动更新 但是在wxml中改变的数据,不会同步更新到js中(可以通过事件来完成同步) 示例: 在posts.js的data中定义date 在posts.wxml中使用双花括号绑定数据 显示 setData方法绑定数据 通常从服务器加载的数据会放到onload函数中 在post.wxml中,使用双花括号绑定数据 <!--pages/posts/posts.wxml--> <view> <swiper indicator-dots="true" interval="5000" autoplay="true"> <swiper-item><image src="/images/wx.png"></image></swiper-item>

HTTP - 关于get和post

混江龙づ霸主 提交于 2020-03-23 18:20:57
从web客户端(浏览器)来说: 最直接的区别,GET请求的参数是放在URL里的,POST请求参数是放在请求body里的; GET请求的URL传参有长度限制,而POST请求没有长度限制; GET请求的参数只能是 ASCII码,所以中文需要 URL编码,而 POST请求传参没有这个限制; HTTP 请求来说: 其实, GET和 POST本质上两者没有任何区别。他们都是 HTTP协议中的请求方法。底层实现都是基于 TCP/IP协议。上述的所谓区别,只是浏览器厂家根据约定,做得限制而已。 HTTP请求最初设定了八种方法,这八种方法本质上没有任何区别。只是让请求,更加有语义: OPTIONS 返回服务器所支持的请求方法 GET 向服务器获取指定资源 HEAD 与GET一致,只不过响应体不返回,只返回响应头 POST 向服务器提交数据,数据放在请求体里 PUT 与POST相似,只是具有幂等特性,一般用于更新 DELETE 删除服务器指定资源 TRACE 回显服务器端收到的请求,测试时候会用到这个 CONNECT 预留,暂无使用 关于RESTful API 服务端根据不同的请求方式,可以做不同的处理,同时,根据不同的请求,还可以设计出不同风格的应用程序接口,这就引出了Representational State Transfer,英文缩写就是REST,中文意思是表述性状态转移(和没翻译差不多)

Improve performance of Async Post using C# HttpClient

柔情痞子 提交于 2020-03-23 12:33:04
问题 I am trying to find way to further improve the performance of my console app (already fully working). I have a CSV file which contains a list of addresses (about 100k). I need to query a Web API whose POST response would be the geographical coordinates of such addresses. Then I am going to write a GeoJSON file to the file system with the address data enriched with geographical coordinates (latitude and longitude). My current solution splits the data into batches of 1000 records and sends

python爬虫笔记

混江龙づ霸主 提交于 2020-03-23 10:17:18
##爬虫 -通用网络爬虫 其的主要目的是将互联网上的资源下载到本地形成一个镜像备份。类似百度等搜索引擎 -聚焦爬虫 其面向特定需求的爬虫程序,与通用爬虫的区别在于对数据进行筛选尽量爬取相关数据 -爬虫优化 1.尽量减少请求次数 2.web页面不好爬取时爬app和h5页面(手机) ##HTTP和HTTPS --超文本传输协议 HTTP 端口80 HTTPS时加入了ssl安全传输协议 端口443 ##get请求方式获取 ---get方式一般用于向服务器获取数据 --parse用于url编码 实际使用是将url地址与想要查询的数据信息拼接形成完整地url 例如 # https://tieba.baidu.com/f?ie=utf-8&kw=火影忍者&fr=search # https://tieba.baidu.com/f?kw=火影忍者&ie=utf-8&pn=50 base_url = 'http://wwww.baidu.com/f?' # 搜索信息关键字 wd = input('搜索信息关键字') pn = input('pn值') q_data = { 'wd' = wd, 'pn' = pn, } # 对q_data进行编码使用parse模块 q_data = parse.urlencode(q_data) # 拼接url full_url = base_url + q

django简单使用restframework

一曲冷凌霜 提交于 2020-03-23 06:25:29
下载 pip install djangorestframework 使用 # 添加'rest_framework'到您的INSTALLED_APPS设置: INSTALLED_APPS = [ ... 'rest_framework', ] # 视图函数 app01/views.py from rest_framework.views import APIView class Order(APIView): def get(self, request, *args, **kwargs): return HttpResponse("GET") def post(self, request, *args, **kwargs): return HttpResponse("POST") # 配置路由 settings.py from app01 import views urlpatterns = [ ... url(r'^order/', views.Order.as_view()) ] django项目启动之后就可以使用GET、POST方式访问http://localhost:port/order/了。 来源: https://www.cnblogs.com/aaronthon/p/12549934.html

asp.net core 系列 8 Razor框架路由(下)

…衆ロ難τιáo~ 提交于 2020-03-23 05:46:09
三.页面路由操作约定   接着上篇讲asp.net core 系列 7 Razor框架路由。在上篇继续第三节 "页面路由操作约定" 的最后一小节 AddPageRoute 。   3.3. 配置页面路由AddPageRoute     使用 AddPageRoute 配置路由,该路由与指定页面关联, 使用指定的路由生成页面链接。 AddPageRoute 使用 AddPageRouteModelConvention 建立路由。     示例应用为 Privacy.cshtml 创建指向 /ThePrivacyPage 的路由: options.Conventions.AddPageRoute("/Privacy", "ThePrivacyPage/{text?}");     可以通过原有 / Privacy默认路由访问“Privacy”页面。http://localhost:60397/Privacy     也可以通过上面自定义的页面路由访问Privacy页面。 http://localhost:60397/ThePrivacyPage     示例应用的“Privacy”页面自定义路由允许使用可选的 text 路由段 ( {text?} )。 该页面还在其 @page 指令中包含此可选段,以便访问者在 / Privacy 路由中访问该页面。在呈现的页面中