文件下载漏洞
文件下载漏洞 一、漏洞PHP源码 // 获取店端清酒的文件名 $file_path = $GET['filename']; // 设置响应头为附件下载而非内容读取 Header("Contnet-type: application/octet-stream"); Header("Content-Di…
文件上传漏洞
文件上传漏洞 一、漏洞成因 没有对上传的文件进行判断,导致用户可以直接上传恶意php等文件,从而达到上传木马。 优化:可以进行前端对文件后缀校验,禁止用户上传不合法文件。 直接禁用JS可以绕过JS对文件后缀的校验,但是不建议禁用JS,因为这会直接禁用掉所有JS,有可能导致其他功能失效。 优化:使用ajax实现上传功能,防止用户通过禁用JS上传恶意文…
文件包含漏洞
文件包含漏洞 一、本地文件包含 1.源代码 $filename = $_GET['filename']; include $filename; echo "欢迎来到PHP世界" 2.利用条件 php.ini中allow_url_fopen=On(默认开启)和allow_url_include=off(默认关闭…
XSS攻防与绕过
XSS攻防与绕过 一、XSS利用方式 获取用户cookie,实现越权,如果是获取网站管理员的Cookie,叫做提权。应该尽快注销账号,让Session失效 钓鱼网站,模拟真实的网站的登录页面,获取用户信息(用户名密码等),再跳转到真实网站 执行JS代码,用于DDOS攻击别的目标站点,在A站植入XSS代码,向B站发送请求,当用户量大的时候,实现了DD…
XSS基本原理
XSS基本原理 一、XSS基础演示代码 <?php // 从浏览器接受一个URL地址参数,名为content if(isset($_GGET['content'])){ $content = $_GET['content']; echo "你输入的内容:$content"; } el…
SQL其他注入
其他注入 一、更新注入 所有更新类操作,只返回布尔型结果,不会返回数据,所以无法像select一样进行多样化处理,所以更新类操作的核心就是构建报错注入的payload insert into user(username, password, role) vlues('wowo' or updatexml(1, concat(0x7e,databas…
SQLMap
SQLMap 一、支持模式 基于布尔盲注,即可以根据返回页面判断条件真假的注入。 基于时间盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。 基于报错注入、即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。 联合查询注入、可以使用union的情况下的注入。 堆查询注入、可以同时…
盲注
盲注 一、适用场景 没有回显的时候 二、Boolean型盲注 Boolean是基于真假的判断,不管输入什么,结果都只返回真或假两种情况。Boolean型盲注的关键在于通过表达式结果与已知值进行逐个对比,根据对比结果判断正确与否。 盲注有时候需要一个一个字符猜,因此一些字符串操作的函数经常被应用到 length():返回查询字符串长度 mid(col…
错误注入
错误注入 一、原理 报错注入在没法用union联合查询时用,但前提还是不能过滤一些关键的函数。 报错注入就是利用了数据库的某些机制,人为地制造错误条件,使得查询结果能够出现在错误信息中。 对于INSERT和UPDATE语句同样可以使用报错注入的方式 二、Xpath语法错误 利用xpath语法错误来进行报错注入主要利用extractvalue和upd…
文件读写与木马植入
文件读写与木马植入 一、读写权限确认 show global variables like '%secure%'; # 查看mysql全局变量的配置,当输入以上命令后,结果 secure_file_priv = 空 的时候,任意读写 secure_file_priv = 某个路径的时候,只能在规定的路径下读写 secure_fi…
SQL注入-查询注入
SQL注入-查询注入 一、寻找注入点 在参数后面添加单引号或双引号,查看返回包,如果报错或者长度变化,可能存在Sql注入 通过构造get、post、cookie请求再相应的http头信息等查找敏感信息 通过构造一些语句,检测服务器中响应的异常 二、普通注入 1.数字型 加单引号,URL:xxx.xxx.xxx/xxx.php?id=3'; 对应的s…
SQL注入-登录漏洞
SQL注入-登录漏洞 一、实现原理 1.环境准备 在Linux主机上准备一套Xampp:模拟攻防。 在VSCode利用Remote Development进行远程调试。 在Lampp的htdocs目录下创建security目录,用于编写服务器PHP代码。 2.编写login.html <!DOCTYPE html> <html l…
渗透测试基础
渗透测试基础 一、法律 渗透测试需要授权的场景: 帮助客户提供渗透测试服务,进而实现安全加固 针对非客户的自由系统,则建议获取授权后进行测试 保留任何可以作为已授权的证据 不需要授权的情况: 针对开源的产品型系统,如Linux,Apache, MariaDB, Tomcat, Redis等 针对自己的系统 针对闭源的产品型软件,也可以在未经产品厂商…
泛洪
泛洪 一、基础 1.什么是泛洪 泛洪的基本原理就是基于协议通信,完成大流量高并发操作,导致目标主机各类资源消耗过多资源而无法提供正常服务。基于多线程或多进程(MAC地址泛洪、ARP泛洪欺骗) 2.利用条件 供给端和目标主机之间能够正常通信 目标主机没有配置很好防御措施 3.使用socket三次握手泛洪 def socket_flood(): whi…
信息采集
信息采集 一、子域名扫描 1.价值与分类 价值:在进行入侵之前,通常会考虑将周边的主机或应用进攻排查,进而从周边系统入手。通常情况下,主站的防御体系要更加完善,而周边站点可能会存在弱点。 分类:顶级域名、二级域名、三级域名 通常情况下,一个子域名的命名时相对规范的,爆破相对简单,而密码完全因人而异。 2.使用ping命令 使用ping命令可以获取域…