JSONP
Before:之前看到了key师傅的一篇博文,关于JSONP的内容,感觉之前遇到过这样的问题,有时间了一起来学习一下 同源策略与跨域在学习JSONP之前要先认识同源策略,因为JSONP是基于JSON格式的为解决跨域请求资源而产生的解决方案。 那什么是同源策略?同源策略是一种约定,它是浏览器最核心也最基本的安全功能。所谓同源是指,域名(或IP),协议,端口相同。浏览器的同源策略,限制了来自不同源的的“document”或脚本,对当前“document”读取和设置某些属性,可以理解为不同源的脚本不能读写对方的资源。例如,a.com下的js脚本采用ajax读取b.com里面的文件数据是会报错的。同源策略提高了WEB的安全性,但是另一方面来讲,却也是一种限制。随着业务的发展,我们有些场景需要突破上数限制,需要去跨域。解决办法有很多,例如CORS(ajax 可以用CORS来做库跨域请求)、iframe、postMessage等,而属于其中也是比较经典的方法就是JSONP。 JSON与JSONPJSON与JSONP是两种不同的东西。JSON一定不会陌生,它是一种JSON是一种基于文本的数据交换方式,或者叫做数据描述格式,脱胎于JavaScript,后台语言几乎全部支持,JSON 的官方 MIME ...
阅读更多
RSA之共模攻击
共模攻击最近巅峰极客线上第二场遇到了RSA的共模攻击,本身不难,但是还是踩了一些坑。。。记录一下 可攻击的原因在于两个用户使用了相同的模数N,不同的私钥,并加密同一明文消息 由以上的条件,设明文消息为m,两个用户选择的公钥分别为$ e_i $和$ e_j $,且$ e_i$和$ e_j $互素,对于同一明文m加密有:$$c_i=m^ei(mod\quad N),c_j=m^{e_j}(mod\quad N)$$又因$ e_i $和$ e_j $互素,必存在整数s和t,满足$se_i+te_j=1$, 从而$c_i^sc_j^t=m^{se_i+te_j}=m(mod\quad N)$ 题目直接给到的是两个密文文件,两个公钥文件,这里需要使用openssl查看具体的公钥参数 openssl rsa -pubin -in pubkey1.pem -text -modulus 提取出N和e 分别提取pubkey1.pem和pubkey2.pem,可以看到N相同,e1=2333,e2=23333 满足共模攻击条件 而这里还需要把密文从base64转换成16进制数,可以使用 echo base64编码密文 |openssl base -d |xxd -ps 贴出一个jio本 12345 ...
阅读更多
SQL注入姿势
收集一些关于SQL注入的姿势,长期更新:D 关于mysql字段名和保留字冲突的问题当mysql的字段名和保留字冲突的时候,sql语句中的字段名需要加上反引号`来加以区别 select \KEY` from test也说明可以用`来绕过空格。 注入点在limit关键字后面的利用方法SQL语句类似下面这样:(此方法仅适用于5.0.0<mysql<5.6.6的版本) SELECT field FROM table WHERE id > 0 ORDER BY id LIMIT (注入点) mysql 5.x 的文档中的 select 的语法 SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] select_expr [, select_expr ...] [FROM table_references [WHERE where_condition ...
阅读更多
XML External Entity Injection --笔记
DTD简介文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。 DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。 DTD 引用方式(简要了解): 1.DTD 内部声明 1<!DOCTYPE 根元素 [元素声明]> 2.DTD 外部引用 假如 DTD 位于 XML 源文件的外部,那么它应通过下面的语法被封装在一个 DOCTYPE 定义中: 1<!DOCTYPE 根元素 SYSTEM “外部DTD的URI”> 3. 引用公共DTD <!DOCTYPE 根元素名称 PUBLIC “DTD标识名” “公用DTD的URI”> 1234<!DOCTYPE 根元素名称 PUBLIC “DTD标识名” “公用DTD的URI”> <!DOCTYPE configuration PUBLIC “-//mybatis.org//DTD Config 3.0//EN”“http://mybatis.org/dtd/mybatis-3-config.dtd”>以!DOCTYPE开始,configuration是文档根元素名称;PUBLIC表示是公共DTD;-表示是非ISO组织;mybati ...
阅读更多
哈希长度扩展攻击(hash length extension attacks)--笔记
在密码学和计算机安全中,长度扩展攻击(Length extension attacks)是指针对某些允许包含额外信息的加密散列函数的攻击手段。 该攻击适用于在消息与密钥的长度已知的情形下,所有采取了 H(密钥 ∥ 消息) 此类构造的散列函数。MD5和SHA-1等基于Merkle–Damgård构造的算法均对此类攻击显示出脆弱性。注意,由于密钥散列消息认证码(HMAC)并未采取 H(密钥 ∥ 消息) 的构造方式,因此不会受到此类攻击的影响(如HMAC-MD5、HMAC-SHA1)。SHA-3算法对此攻击免疫。(源自维基百科) 攻击的要点在于: 攻击者可以控制message 攻击者需要知道key的长度,如不知道可以考虑暴力破解 攻击已经知道了包含key的一个消息的hash值 hash算法使用了Merkle–Damgård construction进行数据的压缩(比如MD5、SHA-1等)并采取 H(密钥 ∥ 消息) 构造 攻击可以达到的效果在于,如果知道一个原消息哈希值H(key∥M1)及其(key∥M1)长度,对于任意的字符串M2,攻击者可以计算出H(pad(key∥M1) + M2)的值,而不需要知道是key及M1是多少 原因在于基于Merkle–Damgård构造哈希函数有类 ...
阅读更多
FristiLeaks 1.3 VulnHub Writeup
Description: A small VM made for a Dutch informal hacker meetup called Fristileaks. Meant to be broken in a few hours without requiring debuggers, reverse engineering, etc.. NOTE:设置是需要把虚拟机的mac地址改为08:00:27:A5:A6:76虚拟机打开是这个样子目标是成为root用户并拿到flag 信息收集首先是寻找目标机 nmap -sn 192.168.224。 root@kali:~# nmap -sn 192.168.224.0/24 Starting Nmap 7.40 ( https://nmap.org ) Nmap scan report for 192.168.224.1 Host is up (0.00024s latency). MAC Address: 00:50:56:C0:00:08 (VMware) Nmap scan report for 192.168.224.2 Host is up (0.00016s latency). MAC Address: 00:5 ...
阅读更多
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment
阅读更多