Hacking PHP
0X01 SQL注入
这里主要是PHP的防范注入的几个配置,注入手法不再赘述
magic_quotes_gpc
对 $_GET $_POST $_COOKIE
变量中的 ' " \ 空字符(NULL)
进行转义。但这个特性在 PHP5.3.0 中已经不推荐使用,并且在 PHP5.4.0 中已经移除。注意它并不会过滤 $_SERVER
magic_quotes_runtime
对从数据库或文件中获取的数据进行过滤,过滤内容与 magic_quotes_gpc 一致。但在PHP5.4中被废弃。
magic_quotes_sybase
将 $_GET $_POST $_COOKIE 变量中的
'替换为
",并对
空字符(NULL)`进行转义。此选项会完全覆盖magic_quotes_gpc。
safe_mode
safe_mode在 PHP5.3.0 中废弃, PHP 5.4.0 中移除。
0X02 XSS
htmlspecialchars()
默认只过滤"
0X06 文件操作
文件操作包括上传,读取,写入,下载,包含,删除。
文件包含
文件包含分为本地文件包含(LFI),远程文件包含(RFI)。进行远程文件包含需要allow_url_include = On
。远程文件包含也可以通过PHP的输入/输出流 php://
或伪协议 data://
来实现
如果文件包含被加以某种限制,如 include($_GET['file'].'.html')
。这里给出几种bypass的方法
- 通过
%00
截断的方式来进行包含。但是这要在未对NULL
字符进行过滤的情况下。而且在 PHP5.3 之后的版本无法利用。 - 利用多个
.
来进行截断。windows下需要>=240个,linux下>=2040个。这种方法同样在 PHP5.3.0 后被修复 - 特别的,当可以进行远程文件包含时,我们可以利用URL中的
? #
来实现截断。file=http//www.example.com/shell.php?
, 这样.html
会被认为成请求参数
文件上传
- 利用apache或iis6.0的解析漏洞
php3 php4 php%20
绕过%00
截断,如1.php%00.jpg
- 更改文件头
content-type
0X07 代码执行
代码执行相关函数
eval() assert() preg_replace() call_user_func() call_user_func_array() array_map() array_filter() array_reduce()
等
0X08 命令执行
命令执行相关函数 exec() system() shell_exec() passthru() pcntl_exec() popen() proc_open()
, 除此之外被反引号括起的字符串也会被当做命令执行
0X09 变量覆盖
变量覆盖漏洞是指用户传入的变量会将程序内部原有变量的值覆盖。可能引发变量覆盖漏洞的函数有 extract() parse_str()
PHP中的可变变量也可以导致变量覆盖,比如下面的过滤操作
foreach(array('_COOKIE', '_POST', '_GET') as $_request) {
foreach($$_request as $_key => $_value) {
$$_key = addslashes($_value);
}
}
变量覆盖漏洞一般需要和其他的攻击方式进行结合。
Hacking PHP的更多相关文章
- ★Kali信息收集~ 1.Google Hacking + Github Hacking
一.google hacking site site:cnblogs.com 毒逆天 intitle intitle:login allintitle allintitle:index of alli ...
- 狗汪汪玩转无线电 -- GPS Hacking
狗汪汪玩转无线电 -- GPS Hacking Kevin2600 · 2015/12/09 10:12 0x00 序 GPS Hacking 在过去几年的安全会议上一直都是很受关注的议题. 但往往因 ...
- GnuRadio Hacking②:使用SDR嗅探北欧芯片无线键盘鼠标数据包
0×00 前言 上半年的时候安全公司Bastille Networks(巴士底狱)安全研究员发现大多数无线鼠标和接收器之间的通信信号是不加密的,黑客可对一两百米范围内存在漏洞的无线键鼠进行嗅探甚至劫持 ...
- GnuRadio Hacking①:使用GnuRadio+SDR破解固定码无线遥控
0×01 信号捕获 在这篇文章中,我们将使用GnuRadio+SDR硬件对某品牌型号的无线跳蛋进行无线重放攻击的演示. 市面上常见的无线遥控工作的频段,通常工作在315Mhz.433Mhz,也有少数的 ...
- GSM Hacking Part② :使用SDR捕获GSM网络数据并解密
0×00 在文章第一部分 GSM Hacking Part① :使用SDR扫描嗅探GSM网络 搭建了嗅探GSM流量的环境,在第二部中,我们来讨论如何捕获发短信以及通话过程中的流量,从捕获到的数据中解密 ...
- 移动安全初探:窃取微信聊天记录、Hacking Android with Metasploit
在这篇文章中我们将讨论如何获取安卓.苹果设备中的微信聊天记录,并演示如何利用后门通过Metasploit对安卓设备进行控制.文章比较基础.可动手性强,有设备的童鞋不妨边阅读文章边操作,希望能激发大家对 ...
- Redis代码阅读之Hacking Strings
Hacking Strings The implementation of Redis strings is contained in sds.c ( sds stands for Simple Dy ...
- RFID Hacking④:使用ProxMark3 破解门禁
文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用! 0×00 前言 国际黑客大会Defcon传统之一:开锁!因为黑客认为锁也是一种安全挑战.我们在黑客题材电影.电视剧中也常常 ...
- Rootkit Hacking Technology && Defence Strategy Research
目录 . The Purpose Of Rootkit . Syscall Hijack . LKM Module Hidden . Network Communication Hidden . Fi ...
- 黑客讲述渗透Hacking Team全过程(详细解说)
近期,黑客Phineas Fisher在pastebin.com上讲述了入侵Hacking Team的过程,以下为其讲述的原文情况,文中附带有相关文档.工具及网站的链接,请在安全环境下进行打开,并合理 ...
随机推荐
- 抢滩5G,哪些行业将受最大影响?
抢滩5G,哪些行业将受最大影响? 中国工信部6月6日已正式向中国电信.中国移动.中国联通.中国广电发放5G商用牌照.中国成为继韩国.美国.瑞士.英国之后,第五个宣布5G商用的国家. 这次颁发牌照,比计 ...
- CentOS7安装GitLab、汉化、邮箱配置及使用(转载)
同步首发: https://www.cnblogs.com/heyonggang/p/7778203.html http://www.yuanrengu.com/index.php/20171112. ...
- SCOI2003 严格N元树
SCOI2003 严格N元树 Description 如果一棵树的所有非叶节点都恰好有n个儿子,那么我们称它为严格n元树.如果该树中最底层的节点深度为d (根的深度为0),那么我们称它为一棵深度为d的 ...
- 谈谈python里面关于任务队列
谈谈python里面关于任务队列 为什么要做任务队列 要回答这个问题我们首先看看在流水线上的案列,如果人的速度很慢,机器的速度比人的速度快很多,就会造成,机器生产的东西没有及时处理,越积越多,造成阻塞 ...
- alg--动态规划(dynamic planning)
怎么开头呢? 一句话概括吧, dp的思想就是递归的反思想. 参考的理化: https://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741374.h ...
- ConcurrentHashMap 并发HashMap原理分析
ConcurrentHashMap和Hashtable主要区别就是围绕着锁的粒度以及如何锁.如图 左边便是Hashtable的实现方式---锁整个hash表:而右边则是Concurrent ...
- android Build系统
http://www.ibm.com/developerworks/cn/opensource/os-cn-android-build/ android Build系统 超链接
- Java基础学习总结(37)——Java23中设计模式(Design Patterns)详解
设计模式(Design Patterns) --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
- poj 2955 区间dp入门题
第一道自己做出来的区间dp题,兴奋ing,虽然说这题并不难. 从后向前考虑: 状态转移方程:dp[i][j]=dp[i+1][j](i<=j<len); dp[i][j]=Max(dp[i ...
- HDU 4351
求某区间各个子集的和的根的最大的五个数. 子集根其实就是这个数模9后的余数,注意的是要区分0和9,两者的余数都是0.. 记录前i个数的和的根,设为sum数组,然后处理两个数组 lft[i][j]表示从 ...