kali
kali安装:
为了能放大窗口,下载工具:
随后reboot
外面的文件拖到里面:
关闭锁:
ctrl+shift+‘+’:放大字体
改变安装源位置:
注释:
插入第9,10行:
更新软件包列表:
apt upgrade和apt dist-upgrade会根据列表去更新软件:
做个快照:
配置ip:
配置DNS:
2种重启网络服务的方法:
利用xshell连接上,设置下载路径:
上传文件到kali:
SQL注入
information_schema库中有一个tables表,该表记录了所有库的所有表信息,其中字段table_name:表名,table_schema:该表所属的数据库名。每行代表一张表
information_schema还有columns表,该表存储了所有的字段,其中column_name:字段名字,table_name:所属的表名,table_schema:所属的库名。每行代表一个字段
位置:
phpstudy是一个php环境,含有Apache,nginx服务器和mysql
进程操作:
Windows下查看进程及结束进程命令
1)查看占用8080端口的进程号
>netstat -aon | findstr "8080"
结果:TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 3500
可知,进程号为3500的进程占用了8080端口
可以使用命令 tasklist | findstr “3500”进一步查看3500进程的具体信息。
> tasklist | findstr "3500"
结果:javaw.exe 3500 Console 0 28,792 K
可知3500进程为javaw.exe。
2)杀掉进程
> taskkill /pid 3500 /F
设置phpstudy当输入localhost时,默认进入的地方:
mysql-font可以作为mysql客户端:
根据字典可以扫描网站后台可能的地址:
sqllab项目所使用的数据库用户名密码的文件的位置:
创建sqlli-labs的sql语句:
DROP DATABASE IF EXISTS security; CREATE database security; USE security; CREATE TABLE users ( id int(3) NOT NULL AUTO_INCREMENT, username varchar(20) NOT NULL, password varchar(20) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE emails ( id int(3)NOT NULL AUTO_INCREMENT, email_id varchar(30) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE uagents ( id int(3)NOT NULL AUTO_INCREMENT, uagent varchar(256) NOT NULL, ip_address varchar(35) NOT NULL, username varchar(20) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE referers ( id int(3)NOT NULL AUTO_INCREMENT, referer varchar(256) NOT NULL, ip_address varchar(35) NOT NULL, PRIMARY KEY (id) ); INSERT INTO security.users (id, username, password) VALUES ('1', 'Dumb', 'Dumb'), ('2', 'Angelina', 'I-kill-you'), ('3', 'Dummy', 'p@ssword'), ('4', 'secure', 'crappy'), ('5', 'stupid', 'stupidity'), ('6', 'superman', 'genious'), ('7', 'batman', 'mob!le'), ('8', 'admin', 'admin'); INSERT INTO `security`.`emails` (id, email_id) VALUES ('1', 'Dumb@dhakkan.com'), ('2', 'Angel@iloveu.com'), ('3', 'Dummy@dhakkan.local'), ('4', 'secure@dhakkan.local'), ('5', 'stupid@dhakkan.local'), ('6', 'superman@dhakkan.local'), ('7', 'batman@dhakkan.local'), ('8', 'admin@dhakkan.com');
-- (这里有一个空格,--空格)在SQL内表示注释
但在URL中,如果在最后加上-- ,浏览器在发送请求的时候会把URL末尾的空格舍去,所以我们用--+代替-- ,原因是+在URL被URL编码后会变成空格。
即url后面的--+表示注释
zzz
联合查询:
order by 20 :以第20列排序,出错则说明判断总列数<20
也可以用null来判断列数(下载hackbar便于调试):
测出总列数后:
让union前面的为假,则显示后面的:
利用BP解码:
注意:'cms_users'可能因为单引号出错,则转化为16进制编码,再执行
原理:
每行显示哪条记录随机:
在kali中使用sqlmap :
检测注入点:
显示可实现4种注入方法:
列出所有数据库的名字:
开启抓包工具,然后进入登陆界面输入密码,让抓包工具抓住包,然后复制包内容:
粘到文件里面:
读取http数据包进行sql注入的测试:
为了实现导入导出操作(读目标主机的文件或者向目标主机写文件),设置变量secure-file-priv,重启mysql:
查看是否对文件具有操作权限:
读取服务器中指定位置的文件:
向服务器某个位置写入文件,文件内容是1,2,3....:
注入别的内容:
宽字节注入: