图片来源于安全客。==注意:本篇文章仅用于自我学习与交流,不会过多或不涉及具体操作,不得用于其他用途。==一、代码审计简介顾名思义就是检查源代码中的安全缺陷,检查程序源代码是否存在安全隐患,或者有编码不规范的地方,通过自动化工具或者人工审查的方式,对程序源代码逐条进行检查和分析,发现这些源代码缺陷引发的安全漏洞,并提供代码修订措施和建议。——==来自百度百科==代码审计就是从安全角度对代码进行的安全测试评估,结合丰富的安全知识、编程经验、测试技术、利用静态分析和人工审核的方法寻找代码在架构和编码上的安全缺陷,在代码形成软件产品前将业务软件的安全风险降到最低。==实际上感觉就是真正的给你一个网站源码,从网站去找漏洞,而不是按照漏洞去找网站。==二、代码审计测试方法代码审计采用人工审计和静态分析工具辅助的方式进行。人工审计:既能解决内部问题也能解决外部问题,这也是目前最有效率的解决方案,并且在理论上手工代码审计是非常有效的,但人工审计的效率不高,所以我们会采用自动化分析工具辅助人工的方式来提高审计的效率。静态分析工具(也可以叫代码审计工具):通过一组全面规则,测试机制(里面是已经编写好的程
一、所用环境本机windows远程ssh登录linux云服务器。二、学习开始1、文件系统配置文件/etc/filesystems:系统指定的测试挂载文件系统类型/proc/filesystems:Linux 系统已经加载的文件系统类型/lib/modules/2.6.18-274.el5/kernel/fs/ 文件系统类型的驱动所在目录/etc/fstab/etc/mtab2、文件类型的颜色linux文件颜色的含义:蓝色代表目录,绿色代表可执行文件,红色表示压缩文件,浅蓝色表示链接文件,灰色表示其他文件,红色闪烁表示链接的文件有问题了,黄色表示设备文件。蓝色文件——目录白色文件——一般性文件,如文本文件,配置文件,源码文件浅蓝色文件——链接文件,主要是使用ln命令建立的文件绿色文件——可执行文件,可执行的程序红色文件——压缩文件或者包文件Linux下用字符表示的文件类型-:普通文件d:目录文件l:链接文件b:块设备文件c:字符设备文件p:管道文件3、文件系统操作命令(1)df:列出文件系统的整体磁盘使用情况[root@centos57 ~]# df -h文件系统 容量 已用 可用 已用
声明:本篇文章仅用于学习笔记记录,不得用于其他违规用途。RCE为两种漏洞的缩写,分别为Remote Command/Code Execute,远程命令/代码执行。一般出现这种漏洞,是因为应用系统从设计上需要个用户提供指定的远程命令操作的接口。比如我们常见的路由器、防火墙、入侵检测等设备的web管理界面上,一般会给用户提供一个ping操作的web界面,用户从web界面输入目标IP,提交后,后台会对该IP地址进行一次ping测试,并返回测试结果。如果设计者在完成该功能时,没有做严格的安全控制,则可能会导致攻击者通过该接口提交意想不到的命令,从而让后台进行执行,从而控制整个后台服务器。一、代码执行因为需求设计,后台有时候也会把用户的输入作为代码的一部分进行执行,也就造成了远程代码执行漏洞。1、危险函数(1)eval()eval()函数把字符串安装PHP代码来计算,如常见的一句话后门程序:<?php eval($_POST['cmd']);?>(2)assert()与eval()类似,字符串被assert()当做PHP代码来执行。//普通调⽤ <?php assert($
注意:本篇文章仅用于自我学习Linux系统的操作,笔记记录,不得用于其他违规用途。一、Linux的启动流程1、BIOS自检2、启动GRUB/LILO3、运行Linux kernel并检测硬件4、挂载根文件系统5、运行Linux系统的第一个进程init(其PID永远为1,是所有其他进程的父进程)6、init读取系统引导配置文件 /etc/inittab中的信息进行初始化7、执行系统初始化脚本-/etc/rc.d/rc.sysinit,执行系统初始化(包括很多内容)8、根据指定的运行级别来运行服务器脚本程序,再执行脚本 /etc/rc.d/rc.local9、运行一些其他的特别服务,一般为/sbin/mingetty和/etc/X11/prefdm10、Linux控制台(console)提示用户输入用户名、密码进行登录。总结:BIOS初始化→检查外围设备→检查启动设备→读取MBR二、在Linux中常用的启动引导工具:grub和lilo在LInux和Windows两系统并存时就需要安装GRUB,GRUB被广泛的用于替代lilo,GRUB支持在启动时使用命令行模式,支持md5加密保护,还可以从
==本篇文章记录的是pocsuite3框架,仅用于学习记录交流,不得用作其他用途。==一、pocsuite3介绍1、pocsuite3是什么?pocsuite3 是由Knownsec 404 团队开发的开源远程漏洞测试和概念验证开发框架。它配备了强大的概念验证引擎,为终极渗透测试人员和安全研究人员提供了许多不错的功能。并且该工具被kali收录到系统自带工具2、为什么要使用它按照框架的开发规范编写的poc更加的标准 pocsuite3内部帮助我们解决了并发的问题 , 支持多线程检测 , 就不用自己考虑线程的问题了 pocsuite3集合了常见的网络测绘引擎的api , 更方便我们批量检测 , 可以直接和fofa语句联动特点:PoC 脚本可以在 verify, attack, shell 模式下以不同的方式运行 插件生态系统 从任何地方(本地文件、redis、数据库、Seebug ...)动态加载 PoC 脚本 从任何地方加载多目标(CIDR、本地文件、redis、数据库、Zoomeye、Shodan fofa ...) 结果可以轻松导出 动态补丁和钩子请求 命令行工具和python包导入
一、所用环境本机windows远程ssh登录linux云服务器。二、学习开始1、终端快捷键Ctrl + a/Home 切换到命令行开始 Ctrl + e/End 切换到命令行末尾 Ctrl + l 清除屏幕内容,效果等同于 clear Ctrl + u 清除剪切光标之前的内容 Ctrl + k 剪切清除光标之后的内容 Ctrl + y 粘贴刚才所删除的字符 Ctrl + r 在历史命令中查找 (这个非常好用,输入关键字就调出以前的命令了) Ctrl + c 终止命令 ctrl + o 重复执行命令 Ctrl + d 退出 shell,logout Ctrl + z 转入后台运行,但在当前用户退出后就会终止 Ctrl + t 颠倒光标所在处及其之前的字符位置,并将光标移动到下一个字符 Alt + t 交换当前与以前单词的位置 Alt + d 剪切光标之后的词 Ctrl+w 剪切光标所在处之前的一个词(以空格、标点等为分隔符) Ctrl+(x u) 按住 Ctrl 的同时再先后按 x 和 u,撤销刚才的操作 Ctrl+s 锁住终端 Ctrl+q 解锁终端 !! 重复执行最后一条命令 his
一、SQL注入绕过介绍SQL注入绕过技术已经是一个老生常淡的内容了,防注入可以使用某些云waf加速乐等安全产品,这些产品会自带waf属性拦截和抵御SQL注入,也有一些产品会在服务器里安装软件,例如iis安全狗、d盾、还有就是在程序理论对输入参数进行过滤和拦截,例如360webscan脚本等只要参数传入的时候就会进行检测,检测到有危害语句就会拦截。SQL注入绕过的技术也有很多,但是在日渐成熟的waf产品面前,因为waf产品的规则越来越完善,所以防御就会越来越高,安全系统也跟着提高,对渗透测试而言,测试的难度就会越来越高。二、常见的注入绕过方法1、空格字符绕过两个空格代替一个空格,用Tab代替空格,%a0=空格。==使用URL编码的方式必须要在有中间件的网站上使用,直接使用sql语句进行查询是没办法解析的。==可以将空格字符替换成注释/*/,也可以使用内联注释,/!code*/(关于内联注释请观看mysql文章)。2、大小写绕过将字符串设置为大小写,例如and1=1转成AND1=1或者AnD 1=1;==mysql默认是不区分大小写的。==3、浮点数绕过注入可以在查询语句where条件这里
一、所用环境本机windows远程ssh登录linux云服务器。二、学习开始1、ls命令(1)简介ls是英文单词list的简写,类似于DOS下的dir命令,通过ls命令不仅可以查看Linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)、查看目录等。(2)常用参数-a:显示指定目录下所有子目录与文件,包括隐藏文件。-l:以列表方式显示文件的详细信息。-h:配合-l以人性化的方式显示文件大小。==参数可以搭配使用。==(3)示例执行ls -l命令2、cd命令(1)简介cd是英文单词change directiory的简写,其功能为更改当前的工作目录,参数可以为相对路径或绝对路径,如不跟任何参数,则切换到用户主目录,cd为最常用的命令,与DOS的cd命令类似。==Linux所有的目录和文件夹都是大小写敏感的。==(2)常用参数cd:切换到当前用户的主目录(/home/用户目录)cd ~:切换到当前用户的主目录(/home/用户目录)cd . :保持在当前目录不变cd .. :切换到上级目录cd - :可以在最近两次工作目录之间来回切换(3)示例3、mkdir命令(1)
一、实操环境1、操作系统VMware虚拟机创建的win10系统内存8GB硬盘255GB处理器AMD Ryzen 9 5900HX2、操作项目==sql-lib项目,本篇文章介绍关卡26-30。==3、工具版本phpstudy 8.1.1.3php版本 5.4.45ntsApache2.4.39MySQL5.7.26Chrome4、SQL注入目的判断是否允许注入判断注入点类型判断回显点获取数据库信息获取表信息获取字段信息二、less261、判断注入这一关将很多东西都过滤掉了,所以可以使用url编码也可以使用报错注入。2、获取数据库信息http://sql/Less-26/?id=1'anandd(updataxml(1,concat(0x5e,database(),0x5e),1))anandd'3、获取表信息http://sql/Less-26/?id=0'||updatexml(1,concat(0x5e,(select(group_concat(table_name))from (infoorrmation_schema.tables)where(table_schema=data
一、SQL注入介绍1、SQL注入简介SQL注入是指web应用程序对用户输入数据的合法性来进行判断、处理,前端传入的参数是攻击者可控的,并且参数被正常的带入到数据库查询,攻击者可以通过构造不同的SQL语句来进行对数据库的操作,正常情况下,攻击者可以对数据库进行高危操作,例如,数据查询、WebShell写入、命令执行等操作。==注意:SQL注入需要有SQL语言的基础,SQL语言基础后续会发布文章,实际操作会发布在sql-lib文章中。==2、SQL注入原理SQL注入漏洞的产生需要满足以下两个条件:参数是用户可控的,也就是前端传入后端的参数的内容是用户可以控制的。参数被带入数据库进行查询,也就是传入的参数被拼接到SQL语句中,并且带入到数据库进行查询。3、注入判断当传入的参数为1'时,数据库会执行以下代码并会报错,这是因为不符合数据库语法规范的。当传入的参数为and1=1时,不会报错,因为1=1为真,所以返回的页面是正常的,当传入参数为and1=2时,因为条件为假,所以会返回一个不同的结果。==注意:回显是指页面有数据,信息返回,无回显是指根据输入的语句页面没有任何变化,或者没有数据库中的内
易水哲
一个什么都会一点的白帽子