This article will record a journey how did i hack a website. DON’T DO ANYTHING BAD! 1.Gathering more and more informations Google is a very useful tool,make good use of google hacking may yield  twice the result with half the effort. Some significant grammars are as follow: site:xxxx.com filetyp...

In the process of learning English these days , i want to find some useful apps to make me more effective,so, finding this app : “voa每日英语”  (by 2015.12.08) . This app seemed good until i saw the comments: Then i installed this app and see how it would act : Every time when i open this app,it will automatically download ads! so i crack...

1.netfilter & iptables netfilter是Linux内核的一部分,可以看成是为上层处理数据包所提供的一种接口(本质是hook了数据包处理函数)。而iptables则是建立在netfilter之上的数据包过滤系统,通过简单的命令即可实现对数据包的过滤,也被称作Linux下的内置防火墙。 2.iptables中的表,链与规则 iptables中有十分重要的三个概念:table、chain、rules。他们三者的关系如下图: tabl...

1.ICMP重定向 ICMP重定向报文是ICMP控制报文中的一种。在特定的情况下,当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。路由器也会把初始数据报向它的目的地转发。 如上图,当主机A向主机B发送一个请求时,先通过默认网关(路由R2)发起请求(蓝色虚线),而这时R2发现通过自己到达主机B并非最佳路径,通过路...

现在市面上一些加固产商在对apk进行加固时基本上都加入了inotify反调试,这篇文章就讲解inotify的原理及如何用inotify来反调试。 1.inotify linux下inotify可以实现监控文件系统事件(打开,读写删除等),inotify最常见的api有以下几个: inotify_init:用于创建一个 inotify 实例的系统调用,并返回一个指向该实例的文件描述符。 inotify_add_watch:增加对文件或者目录的监控,并指定...

1.ARP欺骗攻击 局域网内的主机,路由器等都通过MAC地址来相互建立连接。每台PC都有一张ARP缓存表,主机将一些常用的MAC地址记录在表中,这样就不需要每次都使用ARP协议查找MAC地址。当一台主机在访问外网时(比如访问baidu),这台主机会在ARP缓存表中查找网关MAC,然后将要发送的数据包的数据链路层的目的MAC地址填入网关的MAC,然后将其发送。而主机一...

在IDA动态调试so库这篇文章中讲了基本的动态调试方法,但是这种方法有一个缺点,就是只能在进程运行起来之后才能attach上,也就是说这时进程已经将so库加载进内存并且已经执行完JNI_OnLoad,所以只需要在JNI_OnLoad函数中完成一些反调试措施,就无法使用上篇文章所介绍的方法来动态调试。这篇文章就介绍动态调试的另一种方法:直接在JNI_OnLoad函数上下断点。 另外,上...

1.ptrace系统调用 Linux下ptrace系统调用是进程调试中最重要的一个函数。许多调试器如gdb,IDA都是基于ptrace的调试器。接下来就来看看ptrace这个函数: ptrace头文件在: C #include<sys/ptrace.h> 1 #include<sys/ptrace.h> 函数原型为: C ...

最近在逆向apk的时候发现关键的加密算法被放进了so库里,毕竟直接用java写这种代码太容易被破了,放在so里面更安全些。既然这样,那也只好动态调so了,查资料研究了几个小时终于搞定了,现记录如下: 1.基本配置 IDA,adb,android_server,模拟器。这里用的是IDA6.5。 android_server在IDA的目录下面,需要用adb push至模拟器: adb push androi...

本文测试环境为Ubuntu12 1.什么是webshell linux下的终端是大家很熟悉的一种shell,webshell与shell类似,不同的是shell是执行本地的输入命令并返回结果,而webshell是通过浏览器(使用http协议)向远端的服务器发送命令,服务器执行完之后再通过http协议返回结果。最常见的情况是向服务器注入一句话木马之后,黑客得到webshell,再通过webshell就能完成进一步的入侵。 2.一句话木马 一句...

DJBX33X是一种常见的产生hash的值算法,在PHP、JAVA、ASP.NET、Python等语言中都广泛使用。hash算法理想的情况下算复杂度能达到O(1),但是实际情况下冲突是不可避免的,一旦发生碰撞,时间复杂度就提高了,最坏的情况下算法复杂度会达到O(n^2),那么,这时候,问题就来了,如果执行的操作频繁的发生hash碰撞,那么服务器将会被消耗大量的资源,如果能找出特定的碰撞...

1.什么是字节对齐 已经有很多文章说过字节对齐的问题了,比如: http://zhangyu.blog.51cto.com/197148/673792/ http://blog.tianya.cn/blogger/post_show.asp?BlogID=597570&PostID=11394326 这里不再重复。总之,字节对齐是为了CPU能够更快的访问。   2.书本中的栈 在介绍函数调用的详细步骤时一定会提到一个概念–栈。在涉及到汇编时,下面这张图大家一定很熟悉...

https即http协议加上ssl协议,在使用https协议登入网站时浏览器会先生成请求,让服务器把自己的数字证书发送过来,验证通过后才能协商会话密钥进而安全的访问该站点。 1.模拟CA认证的全过程 对于一个服务器,要想实现https服务,首先要向CA申请数字证书。CA用私钥将服务器发来的申请签名后生成服务器的数字证书,用户(浏览器)想要访问https服务器,就得向服务器发送认证请求,接下...

shellcode中如果存在0x00,那么在拷贝字符串时shellcode很有可能在中间部分被割断,为了防止shellcode被破坏,通常要去除shellcode中的0x00。去0的方法有很多,这里介绍一些常用的方法: 1. 异或操作去0 mov $0x0,$eax ---> xorl $eax,$eax 1 mov $0x0,$eax  --->  xorl $eax,$e...

+
跳转到评论