随笔分类 -  03-代码审计

PHP代码审计
摘要:任意文件删除漏洞,该漏洞可让攻击者随意删除服务器上的任意文件。 环境搭建: CSCMS :http://www.chshcms.com/ 网站源码版本:Cscms_v4.1正式版(发布日期:2017-06-05) 程序源码下载:https://github.com/chshcms/cscms 漏洞实 阅读全文
posted @ 2018-05-04 14:14 Bypass 阅读(1335) 评论(0) 推荐(0) 编辑
摘要:0x00 前言 大多数网站都提供读取文件功能,一般实现过程是,根据参数filename的值,获得该文件在网站上的绝对路径,读取文件。 这里,通过两个任意文件读取漏洞实例去展示漏洞原理、漏洞危害。 0x01 漏洞实例一 环境搭建: XYHCMS官网:http://www.xyhcms.com/ 网站源 阅读全文
posted @ 2018-04-15 16:33 Bypass 阅读(1997) 评论(0) 推荐(0) 编辑
摘要:0x00 前言 在早些年刚接触web安全的时候,基础套路都是找注入--找后台--找上传点--找数据库备份--Getshell,然而在代码审计的角度,也存在类似的基本操作。 这里结合代码实例介绍白盒Getshell的两种常规姿势:写入配置文件Getshell、模块安装Getshell。 0x01 环境 阅读全文
posted @ 2018-04-15 15:19 Bypass 阅读(893) 评论(0) 推荐(1) 编辑
摘要:0x01 前言 DocCms[音译:稻壳Cms] ,定位于为企业、站长、开发者、网络公司、VI策划设计公司、SEO推广营销公司、网站初学者等用户 量身打造的一款全新企业建站、内容管理系统,服务于企业品牌信息化建设,也适应用个人、门户网站建设! 0x02 环境搭建 DocCms官网:http://ww 阅读全文
posted @ 2018-04-05 17:20 Bypass 阅读(2240) 评论(1) 推荐(0) 编辑
摘要:在PHP的代码基础上,PHP字符串offset取值特性,可以拿来利用,给PHP应用程序带来安全风险。 在PHP中,可以像操作数组一样操作字符串,字符串中的字符可以用类似数组结构中的方括号包含对应的数字索引的形式来进行查找和修改,例如 $test[0]。当然 字符串中字符的排列也是从零开始的。如果需要 阅读全文
posted @ 2017-11-28 14:49 Bypass 阅读(2730) 评论(0) 推荐(0) 编辑
摘要:漏洞形成原因:客户端提交的参数,未经任何过滤,传入可以执行代码的函数,造成代码执行漏洞。 常见代码注射函数: 如:eval、preg_replace+/e、assert、call_user_func、call_user_func_array、create_function等函数 详见http://w 阅读全文
posted @ 2017-11-24 09:03 Bypass 阅读(2063) 评论(0) 推荐(0) 编辑
摘要:0x01 前言 PHP 是一门弱类型语言,不必向 PHP 声明该变量的数据类型,PHP 会根据变量的值,自动把变量转换为正确的数据类型。 弱类型比较,是一个比较蛋疼的问题,如左侧为字符串,右侧为一个整数,只不过左侧与右侧内容完全相等。 0x02 Magic Hash PHP在处理哈希字符串时,会利用 阅读全文
posted @ 2017-11-16 15:54 Bypass 阅读(1067) 评论(0) 推荐(0) 编辑
摘要:变量覆盖指的是用我们自定义的参数值替换程序原有的变量值,一般变量覆盖漏洞需要结合程序的其它功能来实现完整的攻击。 经常导致变量覆盖漏洞场景有:$$,extract()函数,parse_str()函数,import_request_variables()使用不当,开启了全局变量注册等。 0×01 全局 阅读全文
posted @ 2017-11-16 10:55 Bypass 阅读(8141) 评论(0) 推荐(0) 编辑
摘要:【序列化简单利用】 serialize() 序列化:使用函数serialize()可将实例序列化为字符串 unserialize() 反序列化:使用函数unserialize()可将序列化的字符串还原 代码示例: 漏洞利用: 构造漏洞利用的代码,保存为test.php,获取序列化值为 O:7:"Ex 阅读全文
posted @ 2017-11-15 15:37 Bypass 阅读(2197) 评论(0) 推荐(0) 编辑
摘要:PHP中可以执行代码的函数,常用于编写一句话木马,可能导致代码执行漏洞,这里对代码执行函数做一些归纳。 常见代码执行函数,如 eval()、assert()、preg_replace()、create_function() array_map()、call_user_func()、call_user 阅读全文
posted @ 2017-11-15 14:22 Bypass 阅读(16707) 评论(0) 推荐(2) 编辑
摘要:在文件下载操作中,文件名及路径由客户端传入的参数控制,并且未进行有效的过滤,导致用户可恶意下载任意文件。 0x01 客户端下载 常见于系统中存在文件(附件/文档等资源)下载的地方。 漏洞示例代码: 文件名用户可控,导致存在任意文件下载漏洞,攻击者提交url: test.php?filename=te 阅读全文
posted @ 2017-11-14 17:24 Bypass 阅读(3007) 评论(0) 推荐(0) 编辑
摘要:命令执行漏洞,用户通过浏览器在远程服务器上执行任意系统命令,严格意义上,与代码执行漏洞还是有一定的区别。 0x01漏洞实例 例1: 提交 http://127.0.0.1/cmd.php?ip=|net user 提交以后,命令变成了 shell_exec('ping '.|net user) 0x 阅读全文
posted @ 2017-11-14 15:05 Bypass 阅读(9685) 评论(0) 推荐(0) 编辑
摘要:0x01 url任意跳转 未做任何限制,传入任何网址即可进行跳转。 漏洞示例代码: Payload:?url=http://www.baidu.com,即可跳转到百度首页 0x02 编码解码 之前黑盒测试遇到过一个案例,感觉有点意思,写个demo复现一下 漏洞示例代码: 将url进行base64编码 阅读全文
posted @ 2017-11-14 11:08 Bypass 阅读(1013) 评论(0) 推荐(0) 编辑
摘要:有限制的本地文件包含: %00截断: ?file=C://Windows//win.ini%00 (window,magic_quotes_gpc=off,网络上盛传PHP小于5.3.4有效,未完全进行测试,亲测 PHP 5.2.17有效,PHP-5.3.29-nts无效) ?file==../.. 阅读全文
posted @ 2017-11-06 11:13 Bypass 阅读(897) 评论(0) 推荐(0) 编辑
摘要:0x01 最简单的文件上传 未进行文件类型和格式做合法性校验,任意文件上传 漏洞代码示例: 新建一个提供上传文件的 upload.html 创建上传脚本 upload_file.php 漏洞利用:可上传任意文件 这是一种非常简单文件上传方式。 基于安全方面的考虑,应增加用户上传文件的限制,比如检查文 阅读全文
posted @ 2017-11-02 21:08 Bypass 阅读(1048) 评论(0) 推荐(0) 编辑
摘要:0x01 前言 CSRF(Cross-site request forgery)跨站请求伪造。攻击者盗用了你的身份,以你的名义向第三方网站发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件,发私信,添加管理用户,甚至于交易转账等。 这就利用了w 阅读全文
posted @ 2017-11-02 20:04 Bypass 阅读(1026) 评论(0) 推荐(0) 编辑
摘要:跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。Web程序代码中把用户提交的参数未做过滤就直接输出到页面,参数中的特殊字符打破了HTML页面的原有逻辑,黑客可以利用该漏洞执 阅读全文
posted @ 2017-11-01 13:23 Bypass 阅读(1027) 评论(0) 推荐(0) 编辑
摘要:0X01 普通注入 SQL参数拼接,未做任何过滤 测试语句:id=1 UNION SELECT user(),2,3,4 from users 0x02 宽字节注入 A、MYSQL中的宽字符注入 示例代码: 测试语句:%df%27 mysql的特性,因为gbk是多字节编码,两个字节代表一个汉字,所以 阅读全文
posted @ 2017-11-01 11:12 Bypass 阅读(3583) 评论(0) 推荐(0) 编辑
摘要:代码审计精华文章收录: 关于php的一些'特性'或漏洞 https://github.com/80vul/phpcodz 【干货分享】PHP漏洞挖掘——进阶篇 http://blog.nsfocus.net/php-vulnerability-mining/ 常见高危漏洞及验证方法 http://b 阅读全文
posted @ 2017-09-19 19:51 Bypass 阅读(514) 评论(0) 推荐(0) 编辑
摘要:File Upload File Upload,即文件上传漏洞,一般的上传漏洞可能是未验证上传后缀 或者是验证上传后缀被bypass 或者是上传的文件验证了上传后缀但是文件名不重命名。 LOW 直接上传任意文件 MEDIUM 验证Content-Type,修改Content-Type为 image/ 阅读全文
posted @ 2017-03-11 16:02 Bypass 阅读(1065) 评论(0) 推荐(0) 编辑