在PHP与js中出现的 === 与 ==

最近在开发PHP项目,手抽==打成了!==。产生了奇葩的逻辑错误,但是并没有出现语句错误,这让我学过C/C++的人情何以堪?开发组有人提示说===在js中出现过,令我也有了印象。

区别就是=== 是判断类型、内容都是否相同。js和php都是弱类型语言,在如果数字变量和字符串变量内容相同,用===比较就会提示不等,但是用==,这类语言首先会将高级的转换成基础类型的,再进行‘值‘比较。!=与!==同理。

Ajax带登录凭据跨域请求

在远端设置header,此处使用Laravel的中间件中。

ACAO、ACAM、ACAC这三个头比不可少,分别是允许跨的域,跨域请求的方式,是否允许携带请求凭据。

对于近端,你只需要withCredentials = true;即可

参考http://www.w3.org/TR/XMLHttpRequest/#the-withcredentials-attribute

composer在https协议下安装出现 ssl故障

首先,我们先贴一段最新的安装代码。

因为https是基于ssl的,所以下载的时候需要PHP的SSL控件开启。1

然后,我们执行第一条命令会发现有错误。

2

这是因为https的ssl证书问题。

我们使用命令

会发现,CA证书指向了一个奇怪的地方

3

所以我们需要在http://curl.haxx.se/ca/cacert.pem下载一份新证书,在PHP.ini中做一下配置就可以正常下载了。
[crayon-59c8d0a98[……]

瞧瞧更多?

[转]VB程序逆向反汇编常见的函数

VB程序逆向常用的函数
1) 数据类型转换:
a) __vbaI2Str??? 将一个字符串转为8 位(1个字节)的数值形式(范围在 0 至 255 之间) 或2 个字节的数值形式(范围在 -32,768 到 32,767 之间)。
b)__vbaI4Str?? 将一个字符串转为长整型(4个字节)的数值形式(范围从-2,147,483,6482,147,483,647)
c)__vbar4Str? 将一个字符串转为单精度单精度浮点型(4个字节)的数值形式
d)__vbar8Str?? 将一个字符串转为双精度单精度浮点型(8个字节)的数值形式
e) VarCyFromStr??? ([……]

瞧瞧更多?

西科之Re3简单思路

此处调用 怀疑使用内联汇编

r1

OD动态调试,进到main函数会看到第一次输出

r2

往下有一个动态装载Dll链接库,加载Kernel.dll 然后……或者CreateProcessA 创建一个挂起的自身。

然后获取上下文。

r3

剩下好像交与了新进程,这块有点没看太清楚对新进程的寄存器怎么个修改法。可以理解为代码注入到新进程,或者调试新进程。

下面还有一个setthreadcontext

r4

可以定位到新进程的输入。

r5

这是接受输入的

r6

这一块是输出GetIt !

上面没法调试,结合了IDA获取了算法。

r7[……]

瞧瞧更多?

POST型文件包含漏洞之一句话利用

最近在忙比赛,碰到了一个文件包含漏洞,通过包含apache的access.log中的一句话,使用CKnife进行连接,但是Get型是十分轻松的,直接 http://xxx/FilesIn.php?filename=../apache/logs/access.log 进行包含利用就行了。但是当遇到这样的文件保护漏洞。

上面的办法是完全没有效果的,本身菜刀,C刀的配置参数中也不支持POST选项,所以这好好的漏洞岂不是浪费了?通过之前的Cookies注入中的Cookies中转注入思想,写了一个简易的脚本(以C刀为例)。

首先[……]

瞧瞧更多?

记Windows几种常用进程注入方式

之前就玩过DLL注入,但是这次突发奇想的想把这几种常用的注入方式都结合在一起,也是方便自己对某些程序的调试更加方便,也是一次代码复用的机会。

目前DLL注入大概有以下几种注入方式:

  1. 钩子注入
  2. APC回调注入
  3. 远程线程注入
  4. 木马DLL注入
  5. IAT表注入(不知道这个算不算)
  6. 输入法注入
  7. 注册表注入

一、钩子注入

核心函数:SetWindowsHook()

有人提到过使用全局钩子,但是个人认为不怎么推荐,因为影响范围太广,有不可预料的情况发生。所以最好精确到线程。给线程设置消息钩子后,会捕捉键盘、鼠标等消息事件。一但检测到消息发生[……]

瞧瞧更多?

MarkDown简易笔记

前言

今天提交了几个项目到github上,然而在编辑的README的时候,偶然想起了MarkDown这个神奇的语言,还可以考虑写博客使用,真心不错。对了,对于我们这些使用WordPress的人,可以考虑使用Jetpack原生插件。

笔记

标题

# 一级标题
## 二级标题
## 三级标题

以此类推直到六级,推荐在#号后写空格

列表

有序列表

  • 列1
  • 列2

无序列表

  1. 列1
  2. 列2

列表的显示只需要在文字前加上 – 或 * 即可变为无序列表,有序列表则直接在文字前加 1. 2. 3. 符号要和文字之间加上一个字符的空格。

引用

引用一些别人[……]

瞧瞧更多?

[转]ModR/M,SIB编码的含义

让我们从最经常用到的域开始学起——ModR/M。

在开始之前,先来讲一些最基础的概念。

一个字节如果被转换成二进制,则是由8位(bit)来表示(不足8位的话则高位用0来补足),例如:

示例中的B7的二进制是1011 0111,这是典型的4:4表示格式——1011表示的是B,0111表示的是7,这样,1011 0111表示的就是B7了。

那么我们可不可以用另外一种方式来表示一个字节呢?

答案是肯定的:

请看,我们在这里引进了一种新的表[……]

瞧瞧更多?

所谓Lock指令

今天在阅读鹏大的一片博文,关于opcode的资料,看到了貌似书上没有讲过也从未见过的指令,再此记录一下。

LOCK总线封锁信号,三态输出,低电平有效。LOCK有效时表示CPU不允许其它总线主控者占用总线。这个信号由软件设置,当前指令前加上LOCK前缀时,则在执行这条指令期间LOCK保持有效,阻止其它主控者使用总线。说白了就是lock前缀只保证对当前指令要访问的内存互斥。

也是说lock后,就是一个原子操作。原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch (切换到另一个线程),在单处理器系统(UniProce[……]

瞧瞧更多?