sqli-labs环境搭建

MySQL的相关函数:

@@datadir 读取数据库路径
@@basedir MYSQL 获取安装路径

1.mid()函数:mid(striing,start,length)
string(必需)规定要返回其中一部分的字符串。
start(必需)规定开始位置(起始值是 1)。
length(可选)要返回的字符数。如果省略,则 mid() 函数返回剩余文本。

2.substr()函数:substr(string,start,length)
string(必需)规定要返回其中一部分的字符串。
start(必需)规定在字符串的何处开始。
length(可选)规定被返回字符串的长度。
substr(str, pos, len):将str从pos位置开始截取len长度的字符进行返回。注意这里的pos位置是从1开始的,不是数组的0开始

3.left()函数:left(string,length)
string(必需)规定要返回其中一部分的字符串
length(可选)规定被返回字符串的前length长度的字符
length(str):返回str字符串的长度。

4.ascii(str):返回字符串str的最左面字符的ASCII代码值。
5.ord(str):同上,返回ascii码
if(a,b,c) :a为条件,a为true,返回b,否则返回c,如if(1>2,1,0),返回0

常见的ASCII,A:65,Z:90 a:97,z:122, 0:48, 9:57

select database():查询数据库
ascii(substr((select database()),1,1)):返回数据库名称的第一个字母,转化为ascii码
ascii(substr((select database()),1,1))>64:ascii大于64就返回true,if就返回1,否则返回0

linux的nginx一是/usr/local/nginx/html,/home/wwwroot/default,
/usr/share/nginx,/var/www/htm等
apache 就/var/www/htm,/var/www/html/htdocs

winserver的iis默认路径是c:/inetpub/wwwroot/


这篇简短的教程介绍了SQL 注入是怎样工作的,攻击是怎样发生的,以及什么是应用程序SQL漏洞。
我们将要使用的实验室是SQLi Labs,它是一个可以从https://github.com/Audi-1/sqli-labs免费下载,以便我们研究学习以及编写安全的程序。

安装:

从https://github.com/Audi-1/sqli-labs下载源代码

将源代码复制到Apache webroot 文件夹(htddocs,/var/www)
打开sql-connections文件夹下的“db-creds.inc”文件
修改mysql用户名和密码为你自己的
打开浏览器,通过localhost的index.html访问文件夹
点击setup/resetDB 链接在mysql中创造数据库
开始游戏!

为了方便学习查看,可以在源码中的$sql下一句写以下php语句(就是输出拿到数据库查询的完整语句是怎么样的)
    echo "$sql.
";

你可能感兴趣的:(SQL注入)