代码审计
文章平均质量分 73
aFa攻防实验室
专注于代码审计、WEB渗透、网络攻防、红蓝对抗等技术
展开
-
PHP 代码审计之 SQL 注入
0x00:前言用 CMS 做例子,今天刚下载安装,因为首页的搜索功能比较显眼,所以看了一下是存在 sql 注入的,基本没有防护机制,CMS 比较冷门,不属于热门,所以安全性也低一点,做审计练手很合适。0x01:代码追踪搜索时 URL 如下:/archives/detail.php?name=1,通过 URL 可知其相应的 php 文件为 archives 下的 detail.php,打...原创 2018-08-30 22:19:56 · 997 阅读 · 0 评论 -
代码审计之request.getParameter和request.getAttribute
1,前言最近审计的java项目基本上都会用到request.getParameter和request.getAttribute,报的问题基本上就一个,就是跨站。2,介绍字面理解request.getParameter是获取请求参数,request.getAttribute是获取请求属性。先说request.getParameter,它可以获取get和post提交的参数,跨站问题在于它直...原创 2019-08-18 09:09:35 · 942 阅读 · 1 评论 -
代码审计之JSP使用HTML注释
0x00:介绍这个问题很简单,甚至不算问题,可以把它归类到代码质量类。该问题顾名思义,即在JSP文件中使用了HTML注释。JSP的注释为<%-- --%>,HTML注释为<!-- -->。而JSP中除了本身注释外,HTML注释同样有效。但也有区别之分,区别在于,JSP本身的注释内容我们右键源码是查看不到的,而JSP中使用HTML注释后,右键源码可查看注释内...原创 2019-08-21 17:15:39 · 355 阅读 · 0 评论 -
代码审计之XML解析注入
0x00:介绍渗透过程中的XML注入原因在于程序没有对接受的XML内容进行过滤和验证,而用户又可控,导致任意加载文件、实体注入、甚至命令执行等问题。代码审计方面只要查看代码有无过滤机制即可。0x01:示例简单示例如下,例如拿Java的XMLDecoder解析XML为例,示例代码如下。package shuruyanzheng;import java.io.Buffered...原创 2019-08-25 19:18:42 · 609 阅读 · 1 评论 -
XPath注入
0x00:介绍我们都知道数据库,以表的形式来存储数据。除了数据库还有一种方式即以文件形式存储,例如 xml 文件 txt 文件等。当然像文件存储数据一般很少用,文件存储有弊端,数据过多时,读写都很慢没有索引。一些配置性的东西可能会存到 xml 文件中。xml 存数据结构和 html 有点像,比如根结点、子节点、属性节点、文本等。<?xml version="1.0" encodin...原创 2019-06-29 23:20:24 · 2795 阅读 · 0 评论 -
SSI注入
0x00:介绍SSI 是 Server Side Includes 的缩写,即服务端包含。我们都知道像后台语言 php、asp 等都有文件包含的函数 include,包含一些公共的函数库等。那么 html 也有这种包含的机制,我们可以把它叫做 SSI。SSI 还有一些使用情况例如,页面需要动态加入一些内容,这些内容常见的比如自己的 ip 地址,自己的位置信息等。SSI 默认的文件类型是 sht...原创 2019-06-28 21:14:12 · 937 阅读 · 0 评论 -
IMAP/SMTP 注入
0x00:介绍IMAP 就是 Internet Mail Access Protocol 的缩写翻译来就是邮件访问协议,也就是用来收邮件的(和它类似的还有个 POP3,也是用来收邮件的)。SMTP 就是 Simple Mail Transfer Protocol 的缩写翻译来就是邮件传输协议,也就是用来发邮件的。IMAP/SMTP 注入也就是收邮件发邮件的注入,有很多类似于这样的功能,例如...原创 2019-07-01 15:57:55 · 3905 阅读 · 0 评论 -
XML 注入
0x00:简介首先先简单的说一下 xml,看一下它的全名称,叫 Xtensible Markup Language,即可扩展的标记语言,可直接理解为内容可自定义扩展,标签可自定义扩展。其实就是一个文本格式的文件,以 xml 结尾,里面的标签内容可以自定义。它具有很清晰的层次结构,便于阅读,经常被用来做配置文件和存储数据。web 中用 xml 格式来传输数据和处理的功能也有很多。而后端没有对 x...原创 2019-06-15 17:15:20 · 8031 阅读 · 0 评论 -
ORM 注入
0x00:介绍ORM 注入是 Object Relational Mapping 的缩写,翻译过来就是对象关系映射。ORM 是写程序时的一种写法,以前写程序查数据库的时候都是代码加 sql 语句写到一起,程序庞大后就很难管理,很难维护。后来就把程序和 sql 语句分开了。同时 ORM 把 sql 的写法进行了封装,程序调用更为方便,能让程序员真正的去关注逻辑层代码,去面向对象编程。0x01...原创 2019-06-06 15:07:53 · 3306 阅读 · 0 评论 -
LDAP 注入与防御
0x00:介绍LDAP 全英文:Lightweight Directory Access Protocol,翻译过来就是轻量级的目录访问协议。其实就是访问目录,浏览目录。有很多企业存储一些数据信息,例如部门信息,部门里成员的信息,公司的可用设备信息等,这些信息单独放在类似于网站的那种数据库中的话,会显的有点大材小用,而把它们放在目录中,文本中最合适。好比在文档中搜索指定的内容,在目录中搜索指定...原创 2019-05-28 17:06:59 · 2638 阅读 · 0 评论 -
A3 跨站脚本攻击 XSS
0x00:审计介绍对于跨站问题也就是我们常说的存储、反射和 DOM 三种,在挖掘 XSS 上我们一般的思路是查找可能在页面上进行输出的变量,并检查这些变量是否可控,然后跟踪传递过程,查看后端处理是否对接收的内容进行过滤或编码,在前端显示时是否被 htmlencode 之类的函数做过处理。对于很多系统,不建议过滤特殊字符,一个体验不佳再一个有些系统是有需求可以输入特殊符号的,这时后台可以进行...原创 2019-04-19 01:29:28 · 543 阅读 · 0 评论 -
A2 失效的身份认证和会话管理
0x00:身份认证介绍我们先来介绍失效的身份认证,对于身份认证大家已经再熟悉不过了,其用来控制一些文件、数据、网页等访问的控制,例如最常见的账号和密码,各种登录功能等。除了账号和密码外,常见的还有一个是客户端证书,例如银行登录需要 U 盾或者一些证书插到物理机等。再一个生物识别,例如指纹和虹膜等。再一个基于设备的一次性密码,例如设备每分钟都会更改其访问密码,常见的例如银行字符 U 盾的随机 6...原创 2019-04-14 18:47:56 · 1464 阅读 · 1 评论 -
XSS 的绕过和防御
0x00:简介最近在整理 TOP10 的审计点,上篇文章介绍了 A3XSS 问题,这里的 TOP10 是以 2013 的来记录的,对于 XSS 因为篇幅原因上篇只记录了一些示例代码,这篇顺便补充一下 XSS 的绕过和防御。0x01:绕过XSS 绕过方法很多,涉及到的面也非常广泛,我们这里只记录常见的一些绕过方式。1,最基本的就是利用 <> 来写入 html 和 js 代...原创 2019-04-21 02:00:17 · 1376 阅读 · 1 评论 -
A1 代码审计之 SQL 注入
0x00:SQL 注入危害SQL 注入不像以前那么多了,但是依然存在,原因一句话总结就是没有对用户输入进行防护,造成 SQL 解析器不能区分代码和数据。而其危害如下:1,敏感信息泄露,例如拖库等操作。2,数据完整性问题,SQL 注入可以对数据库进行恶意的修改、增加和删除。3,权限提升,SQL 注入问题同样可以造成提权的问题。4,获取后台的访问权限,利用 SQLMAP 甚至可以上传文件 get...原创 2019-04-09 22:02:25 · 512 阅读 · 0 评论 -
SSRF 漏洞记录
0x00:漏洞原理SSRF(Server-Side Request Forgery)也属于应用层上的一个漏洞类型,用一个最简单的例子来理解这个漏洞:比如一个添加图文的功能,填入标题内容和封面图然后提交在网站前台显示,对于这个功能的图片它除了可以让你上传以外,还支持填入远程图片地址,如果你填入了远程的图片地址,则该网站会加载远程图过来进行显示,而如果程序写法不严谨或者过滤不严格,则加载图片地址的...原创 2019-04-02 23:10:11 · 10064 阅读 · 0 评论 -
PHP 代码审计之添加管理员
0x00:前言cms 注册用户时,存在添加管理员漏洞,记录如下。0x01:代码追踪首先,前台注册普通账号时,url 地址为 / user/regin.php,打开 regin.php 发现,刚开始是接收注册数据,并进行一些校验,代码如下:if(!check::CheckUser($_POST['user_name'])) { check::AlertExit("输入的用户...原创 2018-09-02 23:25:19 · 464 阅读 · 0 评论 -
PHP 代码审计之文件删除
0x00:前言CMS 后台很多栏目有上传文件功能,上传漏洞先暂时搁浅,在代码处理的时候,有删除旧文件这个操作,所以先审计下看有没有删除文件的漏洞。0x01:代码追踪首先打开后台基本每个栏目都有上传资料上传图片的功能,这里就已产品栏为例,其目录在 product/admin 下,打开 modifyinfo.php,找到上传图片的代码,如下://删除旧图if(!empty($_PO...原创 2018-09-01 12:25:25 · 301 阅读 · 0 评论 -
代码审计之URL重定向
0x01:介绍程序中经常会涉及到页面的跳转,也就是当前页面操作完后需要跳到另一个页面。常见的功能例如登录成功后的返回页,或者第三方跳转登录页等等,当需要跳转的页面URL被可控时,则会造成URL重定向问题。URL重定向危害在于可导致正常用户访问恶意网站,访问自己的钓鱼网站,盗取cookie等。0x02:示例以下示例简单的演示了URL重定向,示例代码如下。public class R...原创 2019-08-26 23:52:33 · 916 阅读 · 0 评论