说好的从零开始,那就从最基础的sql注入开始呗
##An introduction to SQL injection
成都创新互联专注于企业全网营销推广、网站重做改版、北京网站定制设计、自适应品牌网站建设、HTML5、成都商城网站开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为北京等各大城市提供网站开发制作服务。
SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
其实我认为,只要是不按照网站设计者的本意执行的语句,其实都可以看做是注入语句,无论有没有窃取到信息
1.开发中使用字符串联结方式组合SQL指令,etc,后面刷sqlilabs的时候就懂了
2.链接数据库时使用权限过大的账户(例如很多开发人员都喜欢用最高权限的系统管理员账户(如常见的root,sa等)连接数据库)。
3.在数据库中开放了不必要但权力过大的功能(例如在Microsoft SQL Server数据库中的xp_cmdshell延伸预存程序或是OLE Automation预存程序等)
4.太过于信任用户所输入的数据,未限制输入的字符数,以及未对用户输入的数据做潜在指令的检查。
1.数据表中的数据外泄,例如个人机密数据,账户数据,密码等。
2.数据结构被探知,得以做进一步(例如SELECT * FROM sys.tables
)。
3.数据库服务器被,系统管理员账户被窜改(例如ALTER LOGIN sa WITH PASSWORD='xxxxxx'
)。`其实数据库服务器一旦被后,从sql注入的方面考虑我们一来能够获取数据库里面的信息,二来我们就获取了一台服务器,可以通过服务器的配置等去发现更多的内网设施,***到内网当中去`
4.获取系统较高权限后,有可能得以在网页加入恶意链接、恶意代码以及XSS等。
经由数据库服务器提供的操作系统支持,让***得以修改或控制操作系统(例如xp_cmdshellnet stop iisadmin
可停止服务器的IIS服务),破坏硬盘数据,瘫痪全系统(例如xp_cmdshell FORMAT C:
)
以前收集的一些相关资料
http://blog.csdn.net/u012763794/article/category/6210965
sqli-labs环境搭建
MySQL注入天书(力荐)
视频(youtube上的一位印度大叔的视频)
OK,三个what应该能大概讲清楚什么是SQL注入,接下来我们就搭环境做实验吧
##所用环境
-vmware虚拟机
-kali-linux-2017.3-vm-amd64下载地址下载后解压缩,然后在vmware打开即可,用户root,密码为toor
####打开apache服务sudo service apache2 start
验证 :
访问 http://127.0.0.1,显示页面出来,即表示apache启动成功。
####Mysql配置sudo service mysql start
mysql -uroot -p
密码为空,能链接得上mysql就ok了
这里我们还是设置一个密码比较好,后面方便使用SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新的密码');
####安装sqli-labs
cd /var/www/html
git clone [https://github.com/Audi-1/sqli-labs.git](https://github.com/Audi-1/sqli-labs.git) sqli-labs
接下来,
cd sql-connections/
vi db-creds.inc
vim下,用i
键切换写模式,写完后按esc切换至命令模式,输入:wq
保存即可
这个时候访问http://127.0.0.1/sqli-labs/,即可看到平台页面了
点击setup db,就能创建数据库以及表和数据,接下来就是学习的过程了。
enjoy your tour!
然而新版的kali linux有点小问题,解决问题方法请看其他博文。如果不想继续折腾的童鞋可以直接下载phpstudy使用php5.0版本即可。