生病赋闲在家,看看ctf和安全的基础技术~然后读点论文,希望能在过年之前定下自己的方向,以后学习也有目标了~废话不多说~
sql注入的题,在url后边加单引号可能会报错误信息,后边加and 1=1显示正常就说明可以注入,顺手总结一下sqlmap的用法:
1 查询是什么数据库 /sqlmap.py -u “http://...?id=485” --dbs
2 列出表 /sqlmap.py -u “http://...?id=485” --table
3 指定表名列出所有字段 /sqlmap.py –u “...?id=485” –T tablename --columns
4 指定表名字段名dump出指定字段的内容 /sqlmap.py -u “http://...?id=485” –T tablename –C columnname --dump
直接在源码里找到程序段,控制台输入即可。
或者直接用FireFox的firebug插件查看关键变量的值。
用burpsuit抓包改包的题。需要把地址改为hk,即包源码中的language的CN改成hk发过去就可以了~
xss跨站~用了一个工具叫xssee
方法一:抓包的题,这次关键信息在返回的包中,content-raw,重新复制到网页的key提交,则在返回的包中可以拿到真正的key
方法二:直接用FireFox可以看到返回包的包头信息,不用再抓包了
这个通过线索可以发现,只有我们的IP是指定的值才可以,所以需要抓包,在头部中加入“X-Forwarded-For.”,后边加上IP发过去就好了
这个厉害了,是一个需要用户名密码的登录界面,查看源码发现有过滤机制,直接注入很难,终极操作!“’ or 1=1 group by pwd with rollup limit 1 offset 2 #”,然后密码不用输入直接登录就OK了。
解释一下,加入这一句之后,查询语句变成了username=‘’or 1=1 group by pwd with rollup limit 1 offset 2 #,前边username=‘’or 1=1 恒成立,然后将查询结果group一下,with rollup是在查询结果后边插入一个pwd的值为空的行,这个时候密码框中空白着直接登录就可以成功了。
javascript的jother,一堆!+[ ] { } 这种东西,直接复制到控制台执行就好了。
发一个一句话木马,抓包改包,把路径后边加上123.php.jpg,把php后边加上0x00就好啦
抓包,改cookie,把cookie和pwd改成空,就一样了
两个输入框,查源码发现要求两个输入框中的内容不能一样,但是SHA值要一样,所以要利用SHA的一个漏洞,比如输入数组,在经过SHA函数时会返回false,这样当输入两个不同的数组,就符合了内容不同,但哈希值相同。
解码的题,题目是0X加一推数字,所以是16进制,用了工具converter然后一通操作看得我一愣一愣的,其实就是编码形式的熟悉,下边总结一下:
Hex:0x一推数字。(下一步:hex to text)
escaped:%45%6d%88%ee%…..(unescape)
base64:由英文大小写、数字和+、/、=组成,长度一定被3整除,后边可能含有等号=(base64 to text)
ASCII码:0到127数字,每两个数字间有空格(dec to text)
一堆js代码,复制源码到控制台,把eval(function()))改成document.write(function()),就可以了
又是一堆乱码,VBS编码,长得非常奇怪,一堆[、字母、:、‘、+、*、!
base64解码后是一个html,运行后出现了乱码,修改页面编码方式即可。chrome我的菜单工具栏里没找到,可以在设置-高级设置-编码方式修改。
下载一个文件,进行unescape解码处理,观察得知是含有大量SQLMAP的扫描操作,然后用命令行只取出含有‘misc.flag’的行,存入文件:
cat log1 | grep 'misc.flag' > log2
再对新文件观察,发现很多sql试字符的行为,即含有大量>号以及!=,再用上述过滤方法,取出含有!=的行,最后写脚本将!=后面的ASCII码转为字符即可。
这是一个图片的题,一个gif图片打不开,打开源码和正常gif图片对比,发现少了头部,添上即可打开。
打开后用stegsolve.jar进行逐帧分析。
也是用stegsolve.jar打开图片,然后左右选调色,到red plane 0或某一个就可以看到二维码