加载中…
个人资料
xxb_
xxb_
  • 博客等级:
  • 博客积分:0
  • 博客访问:16,296
  • 关注人气:4
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
博文
标签:

以太坊

区块链

dapp

分类: 区块链

区块链是去中心化的分布式信息技术,由分布世界各地的node节点组成,涉及P2P协议、共识机制、数据存储、web技术等,自行开发区块链架构的产品门槛较高。

而基于“智能合约”的以太坊ethereum,将区块链的底层逻辑抽象为高层API,极大方便了区块链产品生产,开发者大可以基于以太坊Ethereum开发分布式应用Dapp,来切入区块链领域。

本文将介绍Ethereum生态系统所涉及的技术及工具

​1、Ethereum

白皮书:​https://github.com/ethereum/wiki/wiki/White-Paper

以太坊使用PoS+PoW共识机制​,交易信息通过矿工挖矿的方式写入区块链网络,同时矿工可以获取报酬

2、geth

go语言写的node(节点)软件,是官方http://ethereum.org/​的以太坊客户端软件,用来运行node、挖矿、交易等

(所有的node结合起来构成区块链网络)

​3、Mist Browser

 

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2018-03-14 16:32)
标签:

flash

swf

分类: Web安全


前言:Adobe Flash 2017年7月25号,在官方博客上宣布到2020年底停止更新Flash,鼓励开发者尽早使用新的标准( HTML5、WebGL 和 WebAssembly)进行开发

然而现在还有许多视频站正在使用flash作为播放器,故本文还是归纳了部分利用flash(swf)的姿势,与大家交流

0、flash(swf)以宿主域出发(而不是使用域)判断 是否为跨域请求。

A站上的flash文件http://www.a.com/vul.swf, 被B站http://www.b.com/exp.htm拿去使用。此时vul.swf请求a站上的资源是不需要提前获取http://www.a.com/crossdomain.xml判断是否有权限,反而vul.swf请求b站上的资源却需要提前判断是否有权限。这一点与js不同。

1、假若A站上有个上传图片的功能,仅仅作了文件扩展名判断,不允许上传除jpg、png以外的文件

B站攻击者可以将exp.swf改名为exp.png,上传exp.png到A站d的cdn存储http://www.acdn.com/exp.png。然后加载http://www.acdn.com/exp.png到ht

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2018-03-12 13:33)
标签:

区块链

比特币

以太坊

分类: 区块链

一、基本概念

1、区块链本质上是数据的分布式存储,每个加入区块链网络的节点都会存储一份完整的副本,即所谓的去中心化

2、数据存储的方式为链式存储,每一条新加入的数据都跟前一条数据紧密相关。由于有分布式的多个副本,所以无法篡改

​基于以上两点,可以解决多方互信的问题

3、根据区块链网络参与者的不同,可以分为公有链、联盟链、私有链三种​。

比特币属于公有链,是一种加密货币,加入比特币区块链网络的节点可与其他节点争取写入新数据的权利(记账权),新数据表现形式为比特币,此过程称为“挖矿”

二、​加密货币(Cryptocurrency)

加密货币是一种基于区块链技术的虚拟货币​,货币的“发放规则”应该是公平的、公认的。

这个“发放规则”也叫共识机制,常见的有如下三种:

1、​PoW(Proof of Work):工作量证明机制

比特币采用的就是PoW机制,​通过强大的计算机算力,计算出比目标hash小

阅读  ┆ 转载 ┆ 收藏 
标签:

python

多进程

多线程

分类: 其他

程序猿对编程语言的理解程度不同,写程序的速度与质量会大有不同,要学会利用语言的优点

常规的python多线程/多进程,使用队列queue进行主控与线程间的参数双向传递​,较为平庸

以下充分利用​python优点,快速写出高效的代码

一、使用map函数,简化操作

使用map函数:

urls = ['http://www.yahoo.com', 'http://www.reddit.com']

results = map(urllib2.urlopen, urls)

​可以简化如下功能:

​results = []

for url in urls: 

    results.append(urllib2.urlopen(url))

 

二、调用正确的库

在 Python 中有个两个库包含了 map 函数: multiprocessing 和它鲜为人知的子库 multiprocessing.dummy

执行IO 密集型任务选择multiprocessing.dummy,CPU 密集型任

阅读  ┆ 转载 ┆ 收藏 
(2017-11-08 17:55)
标签:

ssrf

分类: Web安全

SSRF(server-side request forge)攻击,是一种利用服务器代码缺陷,以服务器身份发送网络请求的攻击。可以通过此种攻击获取服务器上任意文件、识别并攻击服务器所在网络中的其他服务器、把服务器作为跳板对外发起攻击等等。

1、攻击原理

一段存在ssrf漏洞的php伪代码

if (isset($_GET[‘url’])){

$url = $_GET[‘url’];

$image = fopen($url, ‘rb’);

header(“Content-Type: image/png”);

fpassthru($image);

}​

2、​攻击示例

(1)获取服务器上任意文件:/?url=file:///etc/passwd

(2)探测服务器所在内网:/?url=http://192.168.11.1:8088/test.php

(3)攻击服务器内网中的服务器:/?url=http://192.168.11.1:8088/control.php?off=1

(4)攻击服务器上其他服务:/?url=dict://localhost:11211/stat

(5)把服务器作为跳板:/?url=http://www.baidu.com/info.php?id=’ or ‘a’=’a

3、防护措施

(黑名单)

(1)过滤10.0.0.0/8 、172.16.0.0/12、192.168.0.0/16、localhost私有地址​、IPv6地址

阅读  ┆ 转载 ┆ 收藏 
(2017-09-28 14:32)
分类: App安全

1、https是否忽略ssl证书错误 (启用ssl pinning API24)

webview.onReceivedSslError​ 和 URLConnection.SSLSocketFactory.getAcceptedIssuers

2、通信是否使用Proxy.NO_PROXY

url.openConnection(Proxy.NO_PROXY),不使用系统代理设置(wifi代理),直接连接服务器,如支付宝应用​(Packet Capture可手机端抓包

3、通信是否加密、加签、二进制流

​除https外,所有通信均对称或非对称加密

加签防篡改

二进制流,无明文显示​

4、​so加密库防任意调用

不需要逆向so库,直接调用加密、加签函数

5、​webview的jsbridge

​minSdkVersion为17即可防反射调用任意命令执行漏洞

getToken等私密接口防止其他域js调用​(url scheme,扫描二维码、页面链接等可以打开其他域页面)

6、对外暴露,泄露隐私信息和app被崩溃

阅读  ┆ 转载 ┆ 收藏 
标签:

jsonp

referer

oauth

分类: Web安全

一、检测referer的场景

》缓解CSRF攻击

若referer为空,或referer不属于自身域及子域,则拒绝后续操作​(更改密码、更改昵称)

》加固以jsonp方式获取信息

譬如​,链接https://passport.jd.com/loginservice.aspx?callback=jQuery8483115&method=UserInfo&_=1522914283457返回用户信息

攻击网页使用script标签,src设置为​https://passport.jd.com/loginservice.aspx?callback=attack&method=UserInfo&_=1522914283457,然后声明函数attack,网页就可钓鱼获取到用户信息了

​若referer为空,或referer不属于自身域及子域,则拒绝返回信息

》防止音视频盗链​

​在网页中使用video标签加载视频https://api.huoshan.com/hotsoon/item/video/_playback/?video_id=f0b9acc12f944e5294be13f906bbc86a&line=1&app_id=1112&vquality=normal,是会被服务器拒绝的,原因就是referer检测不通过

视频站检测可以避免为不法网站提供免费的视频存储

 

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

扫码登录

jsonp

分类: Web安全

危害:任何使用扫描二维码登录功能的网站,均存在自己用户被忽悠风险;提供三方网站联登功能的,风险更大

一、扫描二维码登录流程

1、浏览器从服务器取得二维码,并附带当前二维码标识A(比如md5串)

2、浏览器带上二维码标识A,轮询服务器接口,以判断是否扫描登录成功

3、用户手机APP扫描二维码,APP解码获取二维码标识A,并带上手机端登录信息,发送服务器。服务器返回确认登录界面,确认登录

4、浏览器此刻轮询服务器接口,便可以获取到用户登录的token

 

二、攻击手法(钓鱼)

1、攻击者网站展示伪造的目标(QQ)二维码

2、提示用户扫描二维码,使用(QQ)联登此网站。受害者扫描手机QQ扫描二维码后,确认登录

3、攻击者网站轮询(QQ)服务器登录接口,能获取到受害者QQ登录token,账号被盗

(一种较low的手法:二维码手动截图 发给受害者,获取用户登录token)

 

三、存在的风险点

1、二维码标识A没有失效时间(或失效时间很长),且放在cookie中传输,导致接口不需要

阅读  ┆ 转载 ┆ 收藏 
标签:

php

regex

分类: 其他

1、贪婪vs非贪婪 greedy

$target = 'aaaabcdedfbbbbabcdefaaaabcddeddbbbb'​;

​preg_match_all('/aaaa.*bbbb/', $target, $matches),只会返回一个结果

preg_match_all('/aaaa.*?bbbb/', $target, $matches),会返回两个结果

2、前向断定vs后向断定

前向​

$pattern = '/abcd(?=xxx)/​';

​preg_match($pattern, 'abcdxxx');//true

preg_match($pattern, 'abcdxx');//false

否定断定 $pattern = '/abcd(?!xxx)/​';

​preg_match($pattern, 'abcdxxx');//false

preg_match($pattern, 'abcdxx');//true


后向​

$pattern = '/(?

​preg_match($pattern, 'abcdxxx');//true

preg_match($pattern, 'abcdxx');//true

否定断定 $pattern = '/(?

​preg_match($pattern, 'abcdxxx');//false

阅读  ┆ 转载 ┆ 收藏 
标签:

xxe

php

分类: Web安全

XML External Entity (XXE)也是一种SSRF,通常发生在服务器处理客户端发送来的xml格式数据,没有禁止引用外部实体(External Entity)导致的。

另外xml​格式数据的解析还发生在文档(XML, HTML, DOCX(word/document.xml), xlsx(xl/sharedStrings.xml)),图片(SVG:https://launchpadlibrarian.net/110231960/xxe.svg, EXIF data)等。在服务器解析excel、图片时也会存在

 

1、一般xxe利用如下

阅读  ┆ 转载 ┆ 收藏 
  

新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有