1.8 (实验)如何使用SQLMap进行cookie注入
第一步:登录目标地址,输入用户名和密码,用户名和密码都是admin。
点击Submit。
开启代理服务。【选项】—【高级】—【网络】—【设置】,选择【手动配置代理】,输入HTTP代理:127.0.0.1,端口:8080,清空不使用代理文本框中的内容,点击确定。
双击打开桌面的【实验工具】文件夹下的【Burp suite Pro 1.6】文件夹,双击【BurpLoader.jar】,打开BurpSuite软件。遇到弹窗,点击【I Accept】
回到浏览器,刷新界面http://www.any.com/sqli/Less-20/index.php。
Burpsuite会自动进行抓包,点击【Proxy】,即可看到被获取的cookie。如下图所示
通过抓包,我们知道登录的cookie是uname=admin
第二步:进行sqlmap的cookie注入攻击。双击打开桌面的【实验工具】文件夹,双击打开名为【sqlmap.exe】的快捷方式,输入命令
python sqlmap/sqlmap.py -u http://www.any.com/sqli/Less-20/index.php --cookie "uname=admin" --level 2
使用参数-u后接网站的url用于明确使用sqlmap进行sql注入的网址。使用参数--cookie,指定cookie内容是“uname=admin”。 参数--level共有五个等级,默认为1,sqlmap使用的payload可以在xml/payloads.xml中看到,你也可以根据相应的格式添加自己的payload。这个参数不仅影响使用哪些payload同时也会影响测试的注入点,GET和POST的数据都会测试,HTTP Cookie在level为2的时候就会测试,HTTP User-Agent/Referer头在level为3的时候就会测试。
遇到如下图所示的选择,直接点击回车即可
最终结果如下图
对最终结果的分析(上图中红框内的部分):
Web服务器的系统是Windows;web应用技术的PHP版本是5.3.29,Apache版本是2.4.10;后台数据库使用的是MySQL,版本大于5.5。
第三步:开始暴库。
命令如下:python sqlmap/sqlmap.py -u http://www.any.com/sqli/Less-20/index.php --cookie "uname=admin" --level 2 –dbs
使用参数-u后接网站的url用于明确使用sqlmap进行sql注入的网址。使用参数--cookie,指定cookie内容是“uname=admin”。 参数--level共有五个等级,默认为1,HTTP Cookie在level为2的时候就会测试,HTTP User-Agent/Referer头在level为3的时候就会测试。--dbs是用来获取所有数据库名称的参数。
遇到如下图所示的选择,直接点击回车即可。
结果如下图
对最终结果的分析(上图中红框内的部分):
系统由10个可以使用的数据库,名称分别是510cms,challenges,cms,dvwa,efucms,information_schema,mysql,performation_schema,security,test。
可以看见里面库挺多的,我们获取一下当前是哪个库,命令为:python sqlmap/sqlmap.py -u http://www.any.com/sqli/Less-20/index.php --cookie "uname=admin" --level 2 --current-db
使用参数-u后接网站的url用于明确使用sqlmap进行sql注入的网址。使用的参数是--cookie,cookie内容是“uname=admin”。 参数--level,level等级设置为2是为了测试HTTP Cookie。--current-db是为了获取当前数据库名称。
遇到如下图所示的选择,直接点击回车即可。最终结果如下图:
对最终结果的分析(上图中红框内的部分):
当前网页使用的数据库名称是security。
第四步:数据库知道了,接下来我们进行爆表,
命令如下:python sqlmap/sqlmap.py -u http://www.any.com/sqli/Less-20/index.php --cookie "uname=admin" --level 2 –D security --tables
使用参数-u后接网站的url用于明确使用sqlmap进行sql注入的网址。使用的参数是--cookie,cookie内容是“uname=admin”。 参数--level是将level等级设置为2。参数-D用于指定数据库名称为security。参数--tables为了明确获取的内容是security数据库中的表的名称。
遇到如下图所示的选择,直接点击回车即可。最终结果如下图:
对最终结果的分析(上图中红框内的部分):
当前网页使用的数据库名称是security。进一步获取到了security库所有的表,security数据库中的数据表有4个,名称分别是emails,referers,uagents,users,我们更关注users这个表。根据经验,这里面存储着后台的管理账号和密码。
第五步:接下来爆字段。
命令如下:python sqlmap/sqlmap.py -u http://www.any.com/sqli/Less-20/index.php --cookie "uname=admin" --level 2 -Dsecurity -T users --columns
使用参数-u后接网站的url用于明确使用sqlmap进行sql注入的网址。使用的参数是--cookie,cookie内容是“uname=admin”。 参数--level是将level等级设置为2。参数-D用于指定数据库名称为security。参数-T用于指定目标是security数据库中的名为users表。参数--columns为了明确获取的内容是security数据库中的users表的列的名称。
遇到如下图所示的选择,直接点击回车即可。最终结果如下图:
对最终结果的分析(上图中红框内的部分):
当前网页使用的数据库名称是security。数据表的名称是users。在这个表中有三个字段,字段名称分别是id,password,username,字符类型分别是最长是3位的整型数据,最长为20位的字符型数据和最长是20位的字符型数据。理论上password和username分别存储着密码和用户名。
第六步:我们对关键字段进行详细展示。
命令如下:python sqlmap/sqlmap.py -u http://www.any.com/sqli/Less-20/index.php --cookie "uname=admin" --level 2 -Dsecurity -T users -C password,username –dump
使用参数-u后接网站的url用于明确使用sqlmap进行sql注入的网址。使用的参数是--cookie,cookie内容是“uname=admin”。 参数--level是将level等级设置为2。参数-D用于指定数据库名称为security。参数-T用于指定目标是security数据库中的名为users表。参数-C password,username用于指定目标是security数据库中名为users表的password列和username列,顺便指出来这两列的输出顺序。参数--dump为了明确获取的内容是security数据库中的users表的password列和username列的内容。
遇到如下图所示的选择,直接点击回车即可。
结果如下图:
对最终结果的分析(上图中红框内的部分):
当前网页使用的数据库名称是security。数据表的名称是users。在这个表中有13条记录。用户名(username)为Dumb的用户的密码(password)是Dumb,用户名(username)为Angelina的用户的密码(password)是I-kill-you,用户名(username)为Dummy的用户的密码(password)是p@assword,用户名(username)为secure的用户的密码(password)是crappy,用户名(username)为stupid的用户的密码(password)是stupidity,用户名(username)为superman的用户的密码(password)是genious,用户名(username)为batman的用户的密码(password)是mob!le,用户名(username)为admin的用户的密码(password)是admin,用户名(username)为admin1的用户的密码(password)是admin1,用户名(username)为admin2的用户的密码(password)是admin2,用户名(username)为admin3的用户的密码(password)是admin3,用户名(username)为dhakkan的用户的密码(password)是dumbo,用户名(username)为admin4的用户的密码(password)是admin4。
实验结束。