- 博客(80)
- 资源 (3)
- 收藏
- 关注
原创 Nginx 内嵌lua脚本,结合Redis使用
0x00 Nginx 内嵌Lua脚本有以下特点:20k个并发连接Lua脚本可以在Nignx 11个层次的不同层次发挥作用,扩展Ngnix功能Lua速度极快(寄存器指令)0x01 应用场景在web server端做请求过滤处理(如:WAF、Anti CC等)0x02 简单配置过程测试环境Ubunt
2015-06-03 20:45:45
4511
原创 Ubuntu Server 14.04.2 LTS 配置 Nginx + uwsgi + Django
0.目的是在将小巧玲珑的Nginx和Django 通过uwsgi整合1.预备环境 Python 2.7.8 @ ubuntu server 14.04.2版本2.安装Django(这里使用的是pip,当然easy_install也是可以的) sudo pip install django==1.83.安装 Nginx sudo apt-get install nginx4.安装 uwsg
2015-04-18 03:13:14
3100
原创 Ubuntu 14.04.2 LTS 配置 DNS server
我们目的是用一台局域网机器完成 192.168.1.113 <-->cloudshield.com的解析,指定A记录和CNAME;0.关于ubuntu 下载、安装、更新这里就直接跳过了;1.下载安装工具 bind9 sudo apt-get install bind9DNS 配置文件在/etc/bind 目录中。安装bind9后会生成如下三个配置文件: named.conf; named.
2015-04-17 02:17:57
2512
原创 三种方法打印 main函数的返回地址的值(old EIP)(用途,你懂得!)
这里可以简单的修改任意函数的返回地址,可以做到自定义EIP的指向,即可执行当前进程空间的任意指令,这里只是让大家更清楚栈帧结构,没有涉及跨进程的inline HOOK 等,后面会陆续讲下读取任意进程内存,修改任意进程函数执行流程等方法。 废话不多说了,直接上菜: #include #include /* 打印 main函数的返回地址的值(用途,你懂得!)
2014-09-28 23:16:04
3785
原创 IDA Pro逆向实战之Crackme(简单篇)
一次利用IDA Pro进行的软件逆向作业,来做一下,具体的源程序在附件里,废话少说,直接上菜!
2014-07-14 00:49:13
11580
3
原创 基于KWIC 的关键字匹配算法(管道+过滤器模式下实现)
下面是基于KWIC 的关键字匹配算法(管道+过滤器模式下实现)关键部分的管道+过滤器 软件体系下的实现, 在很多的关键字搜索平台都使用了这一 循环移位+排序输出的 关键字匹配算法:具体需求如下:1、使用管道-过滤器风格:每个过滤器处理数据,然后将结果送至下一个过滤器,。要有数据传入,过滤器即开始工作。过滤器之间的数据共享被严格限制在管道传输四个过滤器:输入(Input fi
2014-05-27 11:29:02
5227
原创 WPF 学习笔记
0. 简单的布局<Window x:Class="test_wpf_string_convert.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
2014-05-26 13:39:45
1571
原创 加壳学习笔记(三)-简单的脱壳思路&调试思路
1.首先F3加载应用程序,然后一路F8直到自己停下来,或者是ctrl+F8他会自己运行,直到出现自己停下的时候(也就是OllyDbug把程序的控制权交出,转由应用程序自己控制,呵呵,不行,还得唠唠其他的......下面先跳转一下) 控制权、领空:关于程序的控制权和领空的问题,OllyDbug是一个强大的程序调试工具,具有强大的调试和反汇编能力,他会在应用程序拉到内存的那一刻,就牢牢的控制了该程序,具体的方法是(个人猜想而已):OD把程序拉到内存的同时,就是一个领孩子入瓮的问题,呵呵,实际这里
2014-05-19 23:23:10
2321
原创 加壳学习笔记(二)-汇编基础
简单的call函数过程 1.参数入栈,返回地址入栈。在一个栈帧里,call function的完整过程应该是这样的,call调用的过程要经历两个过程,一个是首先把调用函数之前的指令的下一条指令地址压入栈中(push ebp),作为返回地址,也就是保存旧栈地址,接着会跳转到被调函数的地址入口。呵呵,现在就是借此来恶补汇编哈。 2.代码区跳转。在执行被调函数的时候,为函数重新开辟栈帧,(mov ebp,esp)这句的意思是将旧栈顶换为新栈的底,这里的新栈一般是由函数专属的哈, 下面就是用sub esp,
2014-05-19 23:18:18
1568
原创 加壳学习笔记(一)-基础知识
1.预备知识 1.关于栈,在windows里面的堆栈其实很简单,当学了才知道哈,呵呵,第一要记住的是windows里面的栈是向低地址生长的(extended,延伸,呵呵,顺便丰富下英语的单词量,确实是少的可怜),你可以这样认为,栈就像是一个倒立的箱子,箱子的口子是向下的,底是向上的,这里就表明了系统栈的分布也是延伸方向是由高地址向低地址extended,在最初的
2014-05-19 23:11:18
1930
原创 Mysql数据库的mysql Schema 到底有哪些东西& 手工注入的基础要领
#查看数据库版本mysql> select @@version;+------------+| @@version |+------------+| 5.5.16-log |+------------+1 row in set (0.00 sec)mysql> select * from information_schema.schemata; # 保存了系统
2014-05-19 22:58:18
3281
原创 可制作僵尸网络的Bootkit浅析
最近翻出自己以前存的黑防的杂志,又兴致勃勃的看起来,索性把自己的学得记下来,今天的话题是Bootkit,首先介绍下所谓的Bootkit这个技术,其实就是Rootkit的增强版,所以还是先介绍Rootkit吧,Rootkit就是入侵者为了隐藏自己的踪迹和保存root权限的工具(也可以说是一种技术),同样这里Bootkit的目的也一样,这里就是不扩展讲rootkit的实现了,因为这里涉及windows
2014-05-19 22:43:34
1940
原创 微信QQ的二维码登录原理浅析
在很多地方就是都出现了使用二维码登录,二维码付款,二维码账户等应用(这里的二维码种马,诈骗就不说了),二维码验证,多终端辅助授权应用开始多起来,这里先说下啥是二维码,其实二维码就是存了二进制数据的黑白图片,当出现要求二维码登录的时候,服务器会生成一条临时的唯一的二维码信息,发送到客户端以二维码(图片)的形式写入到网页,然后你就会看到统一的四个方形的二维码,如果做的好这个二维码信息应该是有时效的,这
2014-05-13 22:59:36
8243
原创 关于父进程和子进程的关系(UAC 绕过思路)
表面上看,在windows中。如果是a进程创建了b进程,那么a进程就是b进程的父进程,反之,如果是b创建了a,那么b进程就是a的父进程,这是在windows出现以来一直是程序猿们都证实的,但是在在win Vista后面有了一个新安全消息机制,UAC(user account control),这里科普下UAC的功能,其实UAC就是大家常见的安装软件或者启动程序的时候的出现的全屏变暗的一个提示框,这
2014-05-11 23:15:28
6624
原创 XSS学习笔记(六)-XSS蠕虫
3.XSS蠕虫对于XSS蠕虫,无非就是在客户端提交的时候绕过过滤和转义,可以在继续在浏览器端执行的js 等代码,这里提供几种加密方式:原型:alert(XSS)URL Encode: 大小写(所谓URL编码就是:把所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+))%3cscript%3ealert('XSS')%3c/script
2014-04-28 09:56:37
4938
1
原创 XSS学习笔记(五)-XSS防御
只要是产生XSS的地方都是伴随着输入或者输出的,所以抓住问题的主要矛盾,问题也就有了解决的方法了:可以在输入端严格过滤,也可以在输出时候过滤,就是在从用户输入的或输出到用户的GET或POST中是否有敏感字符:输入过滤:过滤 ' " , \ 客户端: 开启 XSS filter 输出过滤(转义):转义: ' " \ 过滤: href 模型 , window.
2014-04-24 18:38:19
1799
原创 XSS学习笔记(四)-漏洞利用全过程
setTimeout("window.location.href ='http://www.discuz.net/./a'; alert(document.cookie);a='';", 3000);1.在这个例子(现在早已补)中希望大家也要体会到:XSS的上下文比较重要,如何根据上下文,利用未过滤的字符,合理的构造,才是成功的关键(要有足够猥琐的思路)http://www.discu
2014-04-23 13:39:00
5353
原创 XSS学习笔记(三)-XSS平台的搭建
接着前两篇来的,攻击者可以通过一个普通用户登录进来,然后在输入框中提交以下数据:美女admin 方法一:Apache access.log这样根据home.php的过滤条件,如果是admin账户,就会显示含有"美女admin"的列表,然后如果是点击了"美女admin" 的链接,他cookie就可以被收集到我的服务器上(这里是被动式的触发的漏洞,具有一定的猥琐性),搭建的XSS平台一定也
2014-04-21 16:39:25
5406
原创 XSS学习笔记(二)(存储型XSS,持久型攻击)
持久型XSS攻击就是把攻击数据存进数据库,攻击行为就伴随着攻击数据一直存在,下面找来一个利用持久型攻击获取Session ID,同时向浏览器传送一个cookie,(这里科普一下,即使是使用了session验证的方法,还是需要客户端支持cookie), cookie会保存会话连接中的数据,Session ID作为会话标识,浏览器的后续请求就会基于后续请求,攻击者可以提供一个攻击链接,用户点击该链接时
2014-04-20 14:41:40
12213
原创 XSS学习笔记(一)-点击劫持
所谓的XSS场景就是触发的XSS的场所,多数情况下都是攻击者在网页中嵌入(发表)的恶意脚本(Cross site Scripting),这里的触发攻击总是在浏览器端,达到攻击的者的目的,一般都是获取用户的Cookie(可以还原账户登录状态),导航到恶意网址,携带木马,作为肉鸡发起CC攻击,传播XSS蠕虫等。简单举一个场景:在一个页面有一个textbox 代码就是 这里的valuef
2014-04-20 12:16:47
5494
原创 各种python 函数参数定义和解析
python 中的函数参数是赋值式的传递的,函数的使用中要注意两个方面:1.函数参数的定义过程,2.函数参数在调用过程中是如何解析的。首先说一下在python 中的函数调用过程是分四种方式的,这里且先说五种,第五种已经在以前的文章中说过了。1.参数枚举的函数定义:>>> def Fun(a,b,c): return (a,b,c)>>> Fun(1,2,3)(1, 2, 3)
2014-04-18 17:25:22
35936
2
原创 NC(Net cat ) 使用详解(用作文件传输,端口转发,反弹Shell)
1)连接到REMOTE主机,例子:格式:nc -nvv 192.168.x.x 80讲解:连到192.168.x.x的TCP80端口2)监听LOCAL主机,例子:格式:nc -l -p 80讲解:监听本机的TCP80端口3)扫描远程主机,例子:格式:nc -nvv -w2 -z 192.168.x.x 80-445讲解:扫描192.168.x.x的T
2014-04-18 11:33:37
12356
转载 C和C++面试题
1,关于动态申请内存答:内存分配方式三种:(1)从静态存储区域分配:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。全局变量,static变量。(2)在栈上创建:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。(3)用malloc或
2014-04-18 10:32:16
969
转载 面试题之阿xxx2013-5-5综合算法题详解
这道题的大意是:有一个淘宝商户,在某城市有n个仓库,每个仓库的储货量不同,现在要通过货物运输,将每次仓库的储货量变成一致的,n个仓库之间的运输线路围城一个圈,即1->2->3->4->…->n->1->…,货物只能通过连接的仓库运输,设计最小的运送成本(运货量*路程)达到淘宝商户的要求,并写出代码。解题思路:(从最终状态这个角度看题)假设n个仓库的初始储货量分别为warehouse[1
2014-04-17 22:42:13
1599
原创 Json XSS (只是一个小窥)
大家都清楚json 类似于字典的样子吧,这里就不再赘述了,XSS直接上代码:json = new JSONObject();json.put("code", 200);json.put("info", "{'replace':function(){alert(/xss/);}}");json.put("msg", "success");System.out.println(json
2014-04-16 15:49:14
8738
1
原创 SQL 注入学习(来自freebuf的总结)
分类学习有利于条理化知识,大致的SQL注入分为三种:1.BealeanBase2.TimeBase3.ErrorBase1.从最简单的说起,基于布尔类型是最常见的SQL注入方式select username, password from tb_admin where username= User and password = Pass;这句话如果被运用的提取验证数据
2014-04-15 20:51:49
5904
原创 一次函数默认值带来的问题
作为小菜在不经意间又收获了一个py的小知识,用可变数据类型作为函数参数问题,啥是可变数据类型?后面再说,直接上代码:def f(x=[]): x.append(1) print id(x) # 打印对象ID(每个对象独立的内存编号) return x输出:>>> print f()47356040[1]>>> print f()47356040[1, 1]>>
2014-04-14 22:48:08
1418
原创 协议分析之滑动窗口机制
首先说下这是一种流量控制机制,这里是很形象的将数据的发送端和接受端分别看作为两个窗口,即发送窗口和接受窗口,这个技术解决的是在不确定的网络状况下,发送数据不会阻塞,其实他中间是实现了动态改善数据的吞吐量(实际是接收方提前告诉发送方在某时刻能发送多少包),所以基本可以实现快网快发,慢网慢发的效果。窗口机制的实现:在任意时刻,窗口双方都维持一个连续的允许发送帧的序号,也就是窗口的尺寸,值得
2014-04-14 20:57:31
1521
原创 Tx安全技术笔试题总结
1.Hook 技术既能在Rang0级使用也能在Rang3级使用。MessapgeBoxA Hook是在Rang3级2.什么是APT?APT (Advanced Persistent Threat)高性能持久性威胁,这种攻击具有极强的隐藏能力,通常是利用企业或机构网络中受信任的应用程序漏洞来形成攻击者所需要的C&C网络,其次APT攻击有极强的针对性,攻击触发之气通常需要收集大量关于用户业务流
2014-04-13 00:33:39
2172
原创 Python 中的@修饰符作用
在python 2.4以上的的函数中偶尔会看到函数定义的上一行有@functionName的修饰,这一下这个语法细节,其实这有点像C语言带参数的宏操作,解释器读到这样的修饰之后,会先解析@后的内容,直接就把@下一行的函数或者类作为@后边的函数的参数,然后将返回值赋值给下一行修饰的函数对象。def funA(a): print 'funA'def funB(b): print
2014-04-10 18:03:56
7419
1
原创 浅析同源策略和所涉及的安全问题
所谓的同源就是把来自同一个主机,端口,相同协议(http和https不是同种协议)的网络资源叫做同源。同源策略就是限制一个源中加载来自另一个源中的脚本,文本的交互方式。(一般是A源设置不允许读取源B的脚本,但是允许执行源B的脚本)这里要记住不遵循同源策略的标签:,,中的src, href 等都可以任意连接网络资源,相当于对所要求的源进行了一次Get请求)那么如果子域名和顶级
2014-04-08 17:14:36
3200
原创 Python 中赋值语句的小语法
直接上代码吧,语法细节一个,但是笔试可能用到>>> def test(): i = 1 return i=2SyntaxError: invalid syntax原因是python 中赋值语句没有返回值,这里不是C++
2014-04-03 23:03:19
2195
原创 轻松获取windows 明文登录密码(入侵提权后)
一款获取Windows明文密码的小工具,自己在XP,windows 7 旗舰版上测试成功的。简单原理: windows 将登录密码加密后没有存文件,而是存在内存中,这样只要我们找到对应的内存段,然后解密那块内存,明文密码就到手了,这里已知windows 的加密密码内存段是在lsass的进程空间里,好了,黑阔们,只要注入到他的进程空间,定位到那块内存,剩下的事就是逆向一个字符串加密算法的过程了,
2014-04-02 17:28:36
9371
原创 Hook原理分析
首先说说这个技术的实现环境,大家都知道windows的近几个版本都是使用了消息循环机制的,所谓的消息循环机制就是在windows上跑的各种程序之间和windows 之间的交互都是通过消息实现的,这里特指的是windows 和应用程序之间而不是各个程序之间,既然提到了消息,那就说可以截获消息,这里截获消息处理消息的过程就是消息钩子。简单说下windows消息队列,其实每一个IO操作,控制操作
2014-04-01 17:33:56
3207
原创 2014 阿XXX安全工程师实习生招聘笔试总结
本人是一个软工菜,不是信息安全专业的,但是自己喜欢这一方面,所以就参加了阿X的安全工程师的实习招聘,好吧,有些题目记不清楚了,下面就是简单回忆的一些零散的题目(顺序不定),其实回来才发现这些题目在去年大部分都有,就是当时准备的时候脑残没有百度下这个题目:第一部分(名词解释)1.什么是WebShell?话说这个东东常用,但是他的定义只能根据自己所理解的来了,这个当时答的算是最有把握的一个
2014-04-01 00:54:36
2645
原创 Windows下配置Django+mod_wsgi+Apache环境
windows 32位系统:django 1.4 + Apache 2.2 + mysql 5.5注意这里的Apache要配合mod_wsgi.so 才能使用,并且这里的mod_wsgi的版本和Apache,Python 的对应版本要一致,我的环境是 python 2.75,这个就得用对应的mod_wsgi_py2.7_ap2.2.so来了,其实32位的环境相对比较好配置,麻烦的是64
2014-03-27 23:55:49
1679
原创 利用位运算处理权限分配来优化数据库存储,并且提高运算效率
这个是临阵磨枪的,在现在做的一个OA项目中,由于多权限造成后台静态管理网页泛滥了,现在不得不改进些新的技术,又因为以前的权限表是作为管理员表的外键,给这次修改带来很大麻烦,所以想到了类似与Linux的位运算权限管理方法。其实微软的API参数很多也是使用宏定义好的,然后才可以进行或运算的传参,如一个MessageBox 的参数大致可是这样的,有一个按钮|有提示图标|有提示文字 等等,这样的或
2014-03-26 23:21:58
2988
1
原创 TCP/IP是如何通讯的?信号如何让通过TCP/IP网络到达目的地的?-入门篇(协议帝请绕道)
TCP/IP是如何通讯的?信号如何让通过TCP/IP网络到达目的地的
2014-03-25 23:14:27
3325
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人