March 29, 2017

《SQL注入攻击与防御》之防御

代码层防御

领域驱动的安全性

SQL注入之所以发生,是因为我们的应用程序不正确的将数据在不同表示方式之间进行映射

通过将数据封装到有效的值对象中,并限制对原始数据的访问,我们就可以控制对数据的使用

使用过参数化语句

动态SQL(或者将SQL查询组装成包含受用户控制的输入的字符串并提交给数据库)是引发SQL注入漏洞的主要原因

应该使用参数化语句(也叫做预处理语句)而非动态SQL来安全的组装SQL查询

在提供数据时可以只使用参数化语句,但却无法使用参数化语句来提供SQL关键字或标识符(比如表名或者列名)

验证输入

尽可能坚持使用白名单输入验证(只接收期望的已知良好的输入)

确......

March 25, 2017

《SQL注入攻击与防御》之高级攻击

SQL盲注利用

寻找并确认SQL盲注

无效数据将返回通用错误页面而非详细错误,这时可通过包含副作用比如时间延迟来确认SQL注入,还可以拆分与平衡参数。如果数字字段为5,就提交3+2或者6-1;如果字符串参数中包含"MadBod",就提交‘Mad’||'Bod'

请思考漏洞的属性:是否强制产生错误以及能否控制无错误页面的内容

可通过在SQL中提问某一位是0或者1来推断某个信息位,有很多推断技术可用于实现该目标

使用基于时间的技术

可使用逐位方法或二分搜索法提取数据并利用延迟表示数据的值,可使用明确的SLEEP类型函数或运行很长的查询类引入延迟

通......

February 11, 2017

《SQL注入攻击与防御》之攻击

重点看了攻击方面的内容,防御没怎么看,我觉得在攻击方面的知识没有消化理解的话,可能防御类的知识也会比较糊涂,决定过一段时间,自己实践过sql攻击之后,有了一些理解,再来学习防御,会有收获。

计划:去ichunqiu学习学习sqlmap的使用,之前简单学习过,这次得找个站练练手,至少成功实践一次

什么是SQL注入

理解web应用的工作原理

Web应用是一种使用Web浏览器并通过Internet或内部网络访问的程序。它同时还是一种使用浏览器所支持语言(HTML,JavaScript,Java)编写的计算机软件程序,借助不同的web浏览器来呈现应用程序的可执行文件

基本的数据库驱动的动态w......

December 27, 2016

基于ARP协议的攻防

研究了一下ARP攻击和防御,给感兴趣的同学分享一下知识

July 07, 2015

iOS逆向-学习日记2-Mac OS X上的工具

这一次,主要是按照别人的教程,把Mac上逆向工程有关的工具挨个试了个遍。先说几个重点的:Charles,Reveal,TheOS,IDA,Hopper。其中Charles,Reveal,IDA和Hopper都是收费的,且都有demo版本可以下载适用,TheOS是免费。

简介四个收费工具

Charles用于分析网络流量,模拟器,mac os x,device都可以搞定各种get post connect,header cookie分门别类一目了然。价格不贵。

Reveal主攻iOS UI,模拟器和device都行,对于越狱的设备可在cydia里装个插件,然后查看并且临时修改UI,利器。

IDA和Hopper,算作一类了,主要功能是二进制文件到汇编代码,和进一步的汇编代码到C语言代码。我亲自使用过后,着实感觉到工具的强大,十分的强大。再加上工具里各种代码块和控制流的显示,就算我只是一个逆向工程的外行,也知道这样的信息会带来多么恐怖的分析成果。IDA是各个平台的产品都有,价格上千美刀了。Hopper是只有Mac平台上的,价格几百块的样子。据学习过逆向工程的同事说,IDA还是很强大很流行的。

这四个工具的使用难度,Charles比较简单,Reveal略复杂一点。反汇编工具就超级复杂了。不过都有UI,自己可以一个个试着玩玩。

详细介绍Theos越狱开发工具

接下来说说花了我很多时间用来实践的Theos吧。一个跨平台的development kit,用于开发编译iOS软件的,without Xcode。越狱后的iOS所用的插件,Cydia上的那些工具,大都基于Theos开发的。

March 08, 2015

iOS安全-学习日记1

前(fei)言(hua)

上班之余,自学一些计算机安全一类的知识。有相关经验的同学给了我几个建议:1.计算机安全范围很广,有web啦,sql啦,移动端啦balabala,自己选择一个自己感兴趣的较窄的学习就好。2. 社区,乌云,看雪

我自己对iOS还有些兴趣,遂决定开始自学iOS安全。乌云我是连注册都没资格,需要提交漏洞才行,我这什么相关知识都不会,只先看看好了。在谷歌上搜了搜,很容易搜到CSDN上念茜的《iOS安全攻防》这个看上去知识比较浅一点,应该会适合我。那么就一课一课开始学。她写的相关博文是一两年前了,不一定百分之百能适用于当前的环境,不过正好是增加学习难度的机会。也可以用自己的博文来更新和更加详细的注释一下她的博客,更容易让初学者学习到。

 iOS安全攻防(一):Hack必备的命令与工具

念茜博客原文地址

先是一些操作系统的基本的命令,我用过并且略有了解的如下:ps, netstat, route, ifconfig, tcpdump, gdb, ssh

然后我没有接触过的:

sysctl:检查设定Kernel配置;renice:调整程序运行的优先级;lsof:列出当前系统打开的文件列表,一切皆文件包括网络,硬件设备;patch:补丁工具。

然后她有特意注释的三个工具,otool,可以查看可执行程序都链接了哪些库,nm,显示符号表,ldid,用于给需要运行在iOS上的程序签名用。otool和nm在自己的mac电脑上有,os x上我没找到ldid,于是在ipad上用cydia装了ldid。不过之后的实验中好像不签名也能运行来着。