CTF之web安全基础

CTF WEB安全基础

信息泄露

在这里插入图片描述(1)通过查看源码获取flag
例:index.php.bak /robots.txt
/.svn.entries (利用seay svn漏洞扫描工具)
/.git/config (利用git源码泄漏工具)
下面介绍一下用git源码泄露工具
在Git_Extract-master目录下shfit+右键打开Powershell
输入pyhon2 .\git_extract.py http://example.com/.git/config

(2)通过查看备份文件

常见的网站备份文件后缀:
tar.gz
zip
rar
bak
php~(gedit)
swp(vim源码泄露)

在这里插入图片描述在这里插入图片描述

SQL注入漏洞

sql注入成因和使用条件

1、SQL注入的成因
就是指web应用程序对用户输入数据的合法性没有判断,前端传入后端的参数是攻击者可控的,并且参数带入了数据库查询,攻击者可以通过构造不同的SQL语句来实现对数据库的任意操作。

2、SQL注入漏洞的产生需要满足两个关键条件:
(1)参数用户可控:前端传入后端的参数内容是用户可控的。
(2)参数带入数据库查询:传入的参数拼接到SQL语句,且带入数据库查询

SQL注入类型

sql注入方法

在DVWA环境下的low级别做sql injection

不使用sqlmap工具

(1)sql有回显位的注入

常用函数

user() 
database() 
version() 
@@datadir 
concat() 		// concat(' ',table_name,' ',username)
group_concat() 
concat_ws()    //concat_ws('#',username,password)
hex()   //返回十六进制

1.判断注入点

传入SQL语句可控参数分为两类

  1. 数字类型,参数不用被引号括起来,如?id=1
  2. 其他类型,参数要被引号扩起来,如?name=“phone”

判断某个链接是否存在SQL注入,可以通过对其传入的可控参数进行简单的构造,通过服务端返回的内容来判断有无注入

其他类型

构造测试                            预期结果                                 变种
a'#                      //触发错误,返回数据库错误                              
a' or '1'='1#            //永真条件,返回所有记录                   a') or ('1'=1   
a' or '1'='2#            //空条件,返回原来相同结果                  a') or ('1'=2
a' and '1'='2#           //永假条件,不返回记录                      a') and ('1'='2

数字类型

构造测试                            预期结果                                 变种
'#                       //触发错误,返回数据库错误                  
1+1#                     //返回原来相同的结果                           3-1
1+0#                     //返回原来相同的结果                     
1 or 1=1#                //永真条件,返回所
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值